* Add Assets module
* Fixes
* Fix
* Update comments
* Support `GenesisConfig` without any fields
Fixes: #923
* Do not generate an empty `GenesisConfig`, instead generate no `GenesisConfig`
* 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
* Move module metadata from json string to custom metadata
* Revisit the metadata structures
1. Move the structures into the metadata crate.
2. Switch to using Cow/MaybeOwnedArray to support Encode/Decode
* Adapt to new metadata structures
* Convert event json metadata to new metadata structures
* Convert storage json metadata to new metadata structures
* Convert runtime metadata from json to new metadata structs
* Implements new metadata structures in client and runtime
* Fixes errors on `no_std`
* Fixes errors after rebasing master
* Do not use `Cow` anymore in metadata
Also replace `String` with our own type definition `StringBuf`.
This fixes compilation on `no_std`.
* Wrap `RuntimeMetadata` in `RuntimeMetadataVersioned` to support versioning
* Move metadata into `srml` and make core unaware of the implementation
* Make `system` module renamable in `impl_outer_event!`
* Implement `construct_runtime!` macro
This macro generates code for calling all the common `impl_outer_*` macros.
* Add documentation
* Fixes wrong declaration of `contract`
* Update dependencies to work on `no_std`
* One more `Cargo.lock` update
* Address comments