* Simplify cli parsing: remove unnecessary match for Version and help: e.exit() manages both for us already
* Allow passing of IP:PORT as bootnodes, then try to discover its PEER_ID
* Refactor to provide performance improvements for RuntimeVersion lookup, too.
Provides a new runtime_version function which, given a specific , returns
the runtime version for that block, either cached or by executing the block
and caching the result. Exposes that function through all clients to make
most use of that performance improvements.
* Improve Runtime execution by caching runtime lookup
Cache whether the native or wasm runtime should be used for a given
code and if the latter, keep around the parsed wasmi::Module for faster
execution.
* Additional comment and code style fixes
* Fallback to WASM runtime if we can't call the version function
* The previous assumption that the wasm-code was compiled with rustc might be wrong now, that the code comes from the blockchain. Added Notes about that.