Change MetadataKey to be a class that is immutable and update KnownMetadata so it gets Python bindings
- Change MetadataKey to be a class (following the pattern of e.g. VolumeDataAxisDescriptor) instead of a struct, updat e python bindings and add KnownMetadata class with static members that can be generated bindings for.
- Add a separate KnownAxisNames class for axis names and output new Python bindings.
- Fix output of Python wrappers for relational operators (== and != so far).