Learned new java idiom for delegating constructors.  Allows me to use final on all fields that were otherwise final, but had separate constructors.
Adding logging parameter.
Adding interface for versioning all objects.
Added an interface for keeping track of version changes locally.
Added interface for serializing deltas to objects.
Each basic type will use a static versionhelper object, which
serializes and saves changes to an object.
Converts serializable to byte array.
Libraries no longer keep track of deserialization types.  Still need to update test code and compiler.
Cleaned up some ugly java code: previously required using arraylists.  Now, accept any list.
Updated compiler to get rid of de_waldoify generic type.
Updated emit tests to no longer deserialization type in generic.
Updated java library tests to no longer require dewaldoification type parameter.
Starting to add versioning converters for base types (numbers, strings, booleans).
Updated ralph libraries so that each variable holds version helpers to
log changes to individual variables.  Still need to actually perform
the logging.
Updated code generation to emit types for version managers.  Note:
used null for struct changes.  Should update.
Updated emit tests with type information for version logging.
Updated library tests with type information with version logging.
Value variables use version deltas as same type that the value variable holds.
Code generator no longer emits delta type for atomicvaluevariables (see previous commit).
Automatically checks whether to log update.