Improve types of EngineResult, LedgerHash; Add MetaData unmarshaling
Make TransactionStreamMsg use TransactionWithMetadata and associated unmarshaler
This required unmarshaler to sniff the Type/Hash keys in either order.