Base Key on [u8; 32] (#971)

* implement new Key2 primitive that is based on [u8; 32]

* implement Key::add_assign_u64_using method

* integrate new Key type into the rest of the ink! codebase

* rename key2.rs -> key.rs

* fix some Wasm build bugs with new Key type integration

* add #[inline] to Key::add_assign_u64_using method

* optimize Key add assign methods

Somehow those new implementations optimize better ...

* apply rustfmt

* fix hunspell issues

* fix clippy issues

* improve LazyArray and LazyIndexMap impls

* rename add_assign_u64_using to add_assign_using and make it generic

Generic over T where T: Into<u64> so it accepts u32 as well etc.

* remove unnecessary cast
22 jobs for master in 31 minutes and 22 seconds (queued for 12 seconds)
Status Job ID Name Coverage
  Check
passed #1184789
linux-docker
check-std

00:01:57

passed #1184790
linux-docker
check-wasm

00:01:25

 
  Workspace
passed #1184791
linux-docker
build-std

00:02:22

passed #1184792
linux-docker
build-wasm

00:01:03

passed #1184797
linux-docker
clippy-std

00:02:05

passed #1184798
linux-docker
clippy-wasm

00:01:27

passed #1184796
linux-docker
codecov

00:09:29

passed #1184794
linux-docker
docs

00:01:00

passed #1184799
linux-docker
fmt

00:01:06

passed #1184795
linux-docker
spellcheck

00:00:11

passed #1184793
linux-docker
test

00:08:51

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

00:01:11

passed #1184804
linux-docker
examples-clippy-wasm

00:01:00

passed #1184805
linux-docker
examples-contract-build

00:05:57

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

00:01:36

passed #1184807
linux-docker
examples-docs

00:01:24

passed #1184802
linux-docker
examples-fmt

00:00:13

passed #1184800
linux-docker
examples-test

00:01:38

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

00:01:20

 
  Ink Waterfall
passed #1184808
kubernetes-parity-build
ink-waterfall

00:08:51

 
  Fuzz
passed #1184809
linux-docker
fuzz-tests

00:04:11

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

00:00:42