* Some initial work on RPC and client
* Rephrase as params
* More work on traitifying substrate.
* Traitify in_mem.rs
* traitify client.rs
* Make new primitives (mainly traits) build again.
* Many (superficial) build fixes throughout.
* Fix remaining build issues up to bft interface.
* Make bft primitives be generic.
* Switch out MisBehaviorReport for generic version.
* Merge Hashing into Header.
* Update runtime for new generics (with Hashing).
* Update demo runtime.
* Make runtime compile.
* Build fixes for runtime
* Remove old modules.
* port substrate-bft to use generic substrate types
* port client
* port substrate-test-runtime
* mostly port test-runtime to get compiling for std
* Ensure `AccountId` has a `Default`.
* Fix type deps.
* finish porting
* initialize test_runtime from genesis correctly
* remove commented code
* maybe unsigned signatures
* runtimes compile
* port over most of network
* serialization for generic types
* fix comment
* remove some unnecessary trait bounds
* network compiles
* tests compile for sync
* fix deserialization
* temporarily remove deserialize derives
* workarounds for serde issues for deriving deserialization
* get demo-runtime compiling on std
* port extrinsic-pool
* primitives reshuffling
* get network compiling again
* remove debugging file
* runtime tests now passing
* port client-db
* start to port over substrate-rpc
* mostly port over PolkadotApi
* test_runtime follows normal conventions
* substrate runtime tests pass
* deal with inherent extrinsics correctly in polkadot-api
* port transaction-pool
* port polkadot-consensus
* port substrate-rpc
* everything compiles
* tests compile
* fix grumbles
* test-runtime uses its own transfer type
* switch to master branch of jsonrpc
* fix network tests and some warnings
* all tests pass locally
* [ci-skip] add another comment about issue
* remove some curlies
* Remove rustc dependency from ed25519 and refactor a little.
* Runtime support provides more extensive test-key functionality.
* Additional APIs for ed25519 stuff.
* Extensive test for test-runtime.
* Fixes for the new test key API.
* Additional convenience for tests
* Take advantage of more convenient API.
* Redo formating.
* Remove old test identities.
* Remove boilerplate, add test.
* Refactor out unneeded code.
* Clean up algo for determining authorities.
* Remove unneeded API.
* Make `to_*` consume
* Only export keyring when testing
* Fix build & warning
* Extract Keyring into separate library.
* Add tests for Keyring and a trait-based API.
* Address grumbles.
* Introduce simple blockchain runtime for substrate tests.
* Remove bad files.
* Add needed wasm binaries.
* Refactoring.
- Repot files in test-runtime.
- Rename troublesome `Joiner::join` to `Joiner::and`.
- Rework `Slicable` to dedup code.
* More fixes and refactoring
* Rebuild substrate test wasm.
* Fix merge errors.
* Rename the disasterously named `to_vec` to `encode`.
Also rename `as_slice_then` to `with_encoded`.
* Tests for toy runtime.
* Fix doc nit