Implemented ECDSA recover function. (#914)

* Implemented ecdsa recovery function.
Added method `to_eth_address` and `to_account_id`.
Added tests.

* Cargo fmt

* Added `ECDSA` and `Ethereum` to dictionary

* Fixed comments according a new spellcheck

* Fixes according comments in review.

* Fixed build issue for wasm

* Use struct instead of alias for `EthereumAddress`.

* cargo fmt --all

* Simplified `ecdsa_recover`.
USed symbolic links instead files.

* Added documentation for `to_eth_address` and `to_account_id` methods.

* Renamed `to_account_id` into `to_default_account_id`

* Cargo fmt

* Removed DeRef trait. Now field of `EthereumAddress` and `ECDSAPublicKey` is private.

* Fixed doc test for ecdsa_recover in EnvAccess
22 jobs for master in 51 minutes and 31 seconds (queued for 8 seconds)
Status Job ID Name Coverage
  Check
passed #1176420
linux-docker
check-std

00:03:15

passed #1176421
linux-docker
check-wasm

00:02:50

 
  Workspace
passed #1176422
linux-docker
build-std

00:02:53

passed #1176423
linux-docker
build-wasm

00:01:44

passed #1176428
linux-docker
clippy-std

00:02:54

passed #1176429
linux-docker
clippy-wasm

00:02:38

passed #1176427
linux-docker
codecov

00:06:44

passed #1176425
linux-docker
docs

00:01:44

passed #1176430
linux-docker
fmt

00:02:03

passed #1176426
linux-docker
spellcheck

00:00:44

passed #1176424
linux-docker
test

00:05:39

 
  Examples
passed #1176434
linux-docker
examples-clippy-std

00:01:17

passed #1176435
linux-docker
examples-clippy-wasm

00:01:10

passed #1176436
linux-docker
examples-contract-build

00:05:52

passed #1176437
linux-docker
examples-contract-build-delegator

00:04:01

passed #1176438
linux-docker
examples-docs

00:01:28

passed #1176433
linux-docker
examples-fmt

00:00:12

passed #1176431
linux-docker
examples-test

00:01:38

passed #1176432
linux-docker
examples-test-experimental-engine

00:01:07

 
  Ink Waterfall
failed #1176439
kubernetes-parity-build allowed to fail
ink-waterfall

00:30:48

 
  Fuzz
passed #1176440
linux-docker
fuzz-tests

00:04:43

 
  Publish
passed #1176441
kubernetes-parity-build
publish-docs

00:00:37

 
Name Stage Failure
failed
ink-waterfall Ink Waterfall

Triggered pipeline status is running

Triggered pipeline status is running

Triggered pipeline status is failed
Something's broken in: "https://gitlab.parity.io/parity/ink-waterfall/-/pipelines/162239"
Cleaning up file based variables
ERROR: Job failed: command terminated with exit code 1