[abi] Improve JSON encoding of selectors + layout key (#207)
* Export selector as hex string To have an unambiguous exported representation. The previously used `u32` can be interpreted differently depending on the endianness of the target system. * Improve JSON encoding of Key `layout` in Metadata * Add tests for selector serialization * Encode selector as [u8; 4] * Remove unused import * Satisfy rustfmt check * Improve messages! macro * Convert tabs to spaces. * Replace `DELIMITER` with `@delimiter`. * Improve comments. * Improve comment * Ensure old ABI format stays the same * Reduce code duplication by introducing selector_to_expr() * Satisfy rustfmt