Added a base class for structs to inherit from as well as struct
deserialization factories.  Next need to create and register factories
in emitter.
Added code to emit automatically registering struct wrapper deserialization factories.
Generated a struct message for user-defined structs.
Changed user structs to serialize contents.
InternalStruct keeps track of struct name that it deserializes into.
Added code to deserialize structs into objects.  Its currently broken because internal structs do not inherit from RalphObject, and therefore cannot be returned from them.  Likely fix is to have internal structs inherit from RalphObject, rather than to have deserializer return more generic object.