Support enums
Add readme
Add GPL3 licence
Initial commit All methods for reading and writing all types in the spec have an initial (and likely very buggy) implementation. Note that because of the way D works, some features are not directly accessible e.g. as there are no built-in varint types, they have distinct methods and must be called explicitly otherwise data will be read/written as a ulong/long. Read/write for full-featured types will come later with schema-based templates.