Jleeothon merge to add incomplete serializer

Many of the files are generated by the build system.

There is some code for JSON serialization and a working draft specification for the same.