Added a test for handling nested structs.  Use ralph to build a binary
search tree.
Currently, using reflection in map types to ensure that re-wrapping
internal values of variables as SingleThreaded and MultiThreaded
locked objects.  Added wrapper classes for basic variables.  Going to
pass in these wrappers to maps instead of using reflection when call,
eg., set_val_on_key.
Reworking maps so that can wrap objects when call set_val_on_key without reflection.
Ensuring that library tests still work without reflection.
Moved EnsureLockedWrapper into InternalMapVariables.  This way, can
access the EnsureLockedWrapper objects from any InternalMapVariable
class.  Makes emitting re-wrapped method arguments easier.
Emitting wrapper constructors for maps.  Still need to create wrappers
specific to struct values in case structs are used as value types for
maps.
Emitting wrappers for map values that are structs.
Added a print statement.
Typo in scope node.
Emitting initializers for structs and noting that will not emit initializer for maps.
Need to check that tree is not empty before looking up value.
Added a test for having two atomically blocks in same method.
Currently, things still work, but nested struct test still fails (I
still think because has two atomically statement).