Adding more necessary types

- adding all the specified enumeration types
- adding conversion to/from string
- adding a serialization class
- adding the metadata class
Adding copyright

- basic copyright to all files