* Generalize BlockImport
- move ImportBlock, BlockOrigin, ImportResult into shared sr-primitives
- let Consensus provide and traits again
- update consensus traits to latest development
- implement traits on client::Client, test_client::TestClient
- update RHD to use the new import_block API
* Move ImportBlock into consensus-common
* Send import notification in aura tests
* Integrating aura into service
* Make Signatures more generic
* Aura Block Production with the given key
* run aura on the thread pool
* start at exact step start in aura
* Add needed wasm blob, in leiu of better solutions.
* Make API ids consistent with traits and bring upstream for sharing.
* Add decrease_free_balance to Balances module
* Encode `Metadata` once instead of two times
* Bitops include xor
* Upgrade key module.
* Default pages to somewhat bigger.
* Introduce upgrade key into node
* Add `Created` event
* Adds new `ProvideInherent` trait
Also implements the new trait for `srml/consensus` and `srml/timestamp`.
* Adds `impl_outer_inherent!` macro
* Reexport macros from `alloc`
* Introduce `RuntimeString` and fix `ProvideInherent` on `no_std`
* Replace `VersionString` with `RuntimeString`
* Improvements for `impl_outer_inherent!`
* Make `construct_runtime!` support `impl_outer_inherent!`
* Fixes after rebase
* Whitespace
* Adds new `check_inherents` function to the `BlockBuilder` API
* Switch to `check_inherents` in `node-consensus`
* Remove `CheckedBlock`, because it is not required anymore
* Fixes after rebase
* Fixes compilation on stable
* Make the graph generic.
* Adapting pool API for the graph.
* Merge pool & graph.
* Restructure.
* Fix test of transaction pool.
* Get rid of node/transaction-pool.
* Compilation fixes.
* Test7
* Fix compilation of tests.
* Revert runtime changes.
* Add validate_transaction to test-runtime.
* Fix RPC tests.
* Add clearing of the old transactions.
* Trigger pool events.
* Use new queue API.
* Fix wasm build, re-export Hasher.
* No warning if validate transaction fails.
* Get rid of Into<u64> and use As
* Rename `NewTxQueue` to `TaggedTransactionQueue`
* Remove `BlockBuilder` API and support adding documentation to the API functions
* Adds new `BlockBuilder` API
* Fixes compilation with new `BlockBuilder` API
* Some more cleanup
* Cargo.lock update
* Try to fix on stable
* Add missing `As` imports.
* Adds new API traits that will be used by the client and runtime
* Switch consensus to new API's
* Switches transaction-pool to new API's
* Move runtime api stuff into its own crate
* Adds `impl_apis!` macro for implementing the new API traits
* Make `metadata` return directly a blob
* Runtime replace `impl_stubs!` with `impl_apis!`
* Switches to none feature based approach for declaring the different API traits
* Fixes compilation error
* Fixes errors
* Make the `decl_apis!` trait usable from the outside
* Make the `test-client` use the new API traits
* Remove last `impl_stubs!` bits and move some of them into wasm executor for tests
* A little bit more documentation