Created a serial interface for classes to implement
Created an abstract class

The only code the Json class needs to implement is how to encode/decode
The other methods are now in an abstract class to make adding new classes easier
Added a Yaml class