Add new configuration option for #[solidity_interface] is attribute:
if($expr)
This expression will be executed during ERC165 supports_interface call,
and during normal call execution (but not during parsing), allowing to
conditionally disable some inherited interfaces based on contract data
Previously, all items from evm-coder codegen was sorted lexically, which
caused some problems, where lexically sorted names of contract were not
in the same order as contract inherit chain
Now they are sorted by insertion order, and macro-generated code now
inserts them in order of definition, thus providing topological sort of
output contract items