Implement selector_id!, selector_bytes! and blake2x256! macros (#947)

* add selector_id! and selector_bytes! proc macros

* implement blake2x256! macro

* re-export blake2x256! macro from ink_lang crate

* apply rustfmt

* add BLAKE2b to hunspell dictionary

* add UI tests for blake2x256! macro

* improve span for non-literal inputs to blake2x256! macro

* add non-literal input failure UI test to blake2x256! macro

* improve error span for non-literal selector_{id,bytes}! macro inputs

* rename UI test blake2x256 -> blake2x256_macro

* rename UI test

* add UI tests for selector_id! proc. macro

* fix UI test

* fix UI test expectation

* add UI tests for seletor_bytes! macro

* make flaky and broken codecov CI happy again ...
22 jobs for master in 9 minutes and 22 seconds (queued for 7 seconds)
Name Stage Failure
failed
clippy-wasm Workspace
    = note: `-D clippy::needless-borrow` implied by `-D warnings`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow

error: could not compile `ink_env` due to previous error

Caused by:
process didn't exit successfully: `sccache /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/clippy-driver rustc --crate-name ink_env --edition=2018 crates/env/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 -C metadata=34d8f8f4e431ea74 -C extra-filename=-34d8f8f4e431ea74 --out-dir /ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps --target wasm32-unknown-unknown -L dependency=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps -L dependency=/ci-cache/ink/targets/master/clippy-wasm/debug/deps --extern arrayref=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libarrayref-7ca543c11df82a23.rmeta --extern cfg_if=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libcfg_if-152302b13a9219ee.rmeta --extern derive_more=/ci-cache/ink/targets/master/clippy-wasm/debug/deps/libderive_more-91476236bf9ec609.so --extern ink_allocator=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libink_allocator-aba6fd4e74807261.rmeta --extern ink_prelude=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libink_prelude-60058bf9a6a59b03.rmeta --extern ink_primitives=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libink_primitives-a81ec0b61be9c970.rmeta --extern num_traits=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libnum_traits-6109f0b5c882ae0e.rmeta --extern scale=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libparity_scale_codec-75bb298125691ec0.rmeta --extern paste=/ci-cache/ink/targets/master/clippy-wasm/debug/deps/libpaste-1d007800db85bb25.so --extern sp_arithmetic=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libsp_arithmetic-941daf1770d2c4dc.rmeta --extern static_assertions=/ci-cache/ink/targets/master/clippy-wasm/wasm32-unknown-unknown/debug/deps/libstatic_assertions-a8388fa09641602e.rmeta` (exit status: 1)
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
clippy-std Workspace

error: could not compile `ink_lang_ir` due to previous error

Caused by:
process didn't exit successfully: `sccache /usr/local/rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/clippy-driver rustc --crate-name ink_lang_ir --edition=2018 crates/lang/ir/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="std"' -C metadata=e175e6cd3d1000d2 -C extra-filename=-e175e6cd3d1000d2 --out-dir /ci-cache/ink/targets/master/clippy-std/debug/deps -L dependency=/ci-cache/ink/targets/master/clippy-std/debug/deps --extern blake2=/ci-cache/ink/targets/master/clippy-std/debug/deps/libblake2-b2668ee4aa11d2ca.rmeta --extern either=/ci-cache/ink/targets/master/clippy-std/debug/deps/libeither-6623be7023c5be24.rmeta --extern itertools=/ci-cache/ink/targets/master/clippy-std/debug/deps/libitertools-c438e7a09360aec8.rmeta --extern proc_macro2=/ci-cache/ink/targets/master/clippy-std/debug/deps/libproc_macro2-a068cb2050102f51.rmeta --extern quote=/ci-cache/ink/targets/master/clippy-std/debug/deps/libquote-f84f6e77db34e5e8.rmeta --extern syn=/ci-cache/ink/targets/master/clippy-std/debug/deps/libsyn-fca87491d873bc4b.rmeta` (exit status: 1)
warning: build failed, waiting for other jobs to finish...
error: build failed
Cleaning up file based variables
ERROR: Job failed: exit code 1