Deserializer is now finished
Serialize and Deserialize no longer use static methods.
Serialize implements Serializer (Name of concrete class will probably change)
Deserialize implements Deserializer (Name of concrete class will probably change)

Parser takes a (De)Serializer as a parameter for each method (woo strategy pattern)

TODO - Fix output of double/float when it is an integer (have a float with a value of 314 print out "314" rather than "314.0")

Still needs comments (Deserializer code looks very messy), but other than the above TODO it works