Initial implementation of high-level hashing infrastructure (#363)

* [core] initial implementation of high-level hashing infrastructure

* [core] apply rustfmt

* [core] add doc-comment to state some potential optimization

* [core] add Wrap as another built-in way of creating an InputBuffer instance

* [core] make &mut T implement InputBuffer if T: InputBuffer

* [core] publicly export Wrap

* [core] remove the two simple forms of all hash functions

* [core] add extensive docs with examples to all hash functions

* [core] fix doc tests

* [core] fix bug in InputBuffer impl of Wrap

* [core] add asserts to hash doc tests

* [core] apply rustfmt

* [core] simplify doc tests

* [core] adjust doc comments for raw hashes

* [core] improve docs

* [core] add missing internal docs

* [core] rename InputBuffer -> Accumulator

* [core] apply rustfmt

* [core] make Accumulator impl more explicit

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* [core] make Accumulator impl less explicit

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* [core] make Accumulator impl less explicit

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* [core] make Accumulator impl less explicit

Co-Authored-By: Nikolay Volf <nikvolf@gmail.com>

* [core] remove minor code dupe

* [core] completely refactor hash module

* [core] remove XX hash from low-level and high-level API

* [core] fix typo in docs

* [core] fix macro generated docs

Co-authored-by: Nikolay Volf <nikvolf@gmail.com>
15 jobs for master in 7 minutes and 36 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Check
passed #431427
linux-docker
check-std

00:01:21

passed #431428
linux-docker
check-wasm

00:00:40

 
  Workspace
passed #431429
linux-docker
build-std

00:01:52

passed #431430
linux-docker
build-wasm

00:01:19

passed #431432
linux-docker
clippy-std

00:01:24

passed #431433
linux-docker
clippy-wasm

00:01:24

passed #431434
linux-docker
fmt

00:00:15

passed #431431
linux-docker
test

00:03:20

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

00:01:06

passed #431438
linux-docker
examples-clippy-wasm

00:01:06

passed #431439
linux-docker
examples-contract-build

00:00:29

passed #431436
linux-docker
examples-fmt

00:00:14

passed #431440
linux-docker
examples-generate-metadata

00:01:19

passed #431435
linux-docker
examples-test

00:00:49

 
  Publish
passed #431441
linux-docker
publish-docs

00:01:29