Simplified caches
Formatting
Moved all pretty printing into PrettyPrinter class
Enabled PrettyPrinter to handle references by itself
Removed "get" prefix from a couple of getters
Refactored values and introspections again, favouring less classes/less classes at the expense of strict type correctness
Finished majority of serialization/deserialization code