* WIP redo how we parse and use modes
* test expanding, too
* WIP integrate new Mode/ParsedMode into rest of code
* First pass integrated new mode bits
* fmt
* clippy
* Remove mode we no longer support from test metadata
* Address nits
* Add ability for compiler to opt out if it can't work with some Mode/version
* Elide viaIR input if compiler does not support it
* Improve test output a little; string modes and list ignored tests
* Move Mode to common crate
* constants.mod, and Display for CaseIdx to use it
* fmt
* Rename ModePipeline::E/Y
* Re-arrange Mode things; ParsedMode in format and Mode etc in common
* Move compile check to prepare_tests
* Remove now-unused deps
* clippy nits
* Update fallback tx weights to avoid out of gas errors
* Update kitchensink weights too and fmt
* Bump default geth timeout to 10s
* 30s timeout
* Improve geth stdout logging on failure
* fix line logging
* remove --networkid and arg, back to 5s timeout for geth
* Make metadata serializable
* Refactor tests to use steps
* Add a balance assertion test step
* Test balance deserialization
* Box the test steps
* Permit size difference in step output
* Add support for wrapper types
* Move `FilesWithExtensionIterator` to `core::common`
* Remove unneeded use of two `HashMap`s
* Make metadata structs more typed
* Impl new_from for wrapper types
* Implement the new input handling logic
* Fix edge-case in input handling
* Ignore macro doc comment tests
* Correct comment
* Fix edge-case in deployment order