Adds support for custom where bounds (#263)
* Adds support for custom where bounds The user can now specify a custom where bound when using the derive macros: - `#[codec(encode_bound(T: Encode))]` for `Encode` - `#[codec(decode_bound(T: Encode))]` for `Decode` If nothing is specified (`encode_bound()`) the where bounds will be empty. * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Gavin Wood <gavin@parity.io>