* contracts: add events to ContractResult
* contracts: add encoded events to ContractResult
* contracts: add generic Event to ContractResult
* contracts: test bare_call events
* contracts: update bare_call test name
* contracts: add better comments to dry run events
* contracts: fix pallet contracts primitives implementation
* contracts: add EventRecord generic to ContractInstantiateResult
* contracts: make event collection optional
* contracts: impreved notes on `collect_events`
* contracts: update benchmarking calls
* contracts: change bare_call and bare_instantiate to accept enums instead of bools
* contracts: add partial eq to new enums
* contracts: improve comments
* contracts: improve comments
* contracts: fix bare_call benchmarking
* contracts: fix bare call and instantiate in impl_runtime_apis
* contracts: add api versioning to new ContractsApi functions
* contracts: modify api versioning to new ContractsApi functions
* contracts: create new contracts api trait
* contracts: clean up code
* contracts: remove the contract results with events
* contracts: undo contracts api v3
* contracts: remove commented out code
* contracts: add new test bare call result does not return events
* contracts: add code review improvements
* contracts: remove type imports
* contracts: minor code review improvements