Updated test: checking that not forcing incorporating deltas still
sends changes to the other side.
Added an additional map constructor to take in raw java hash maps.  Thought it would be useful in ensure_locked_obj.
Spent a while trying to track down a bug related to nested containers:
essentially, python version has class of objects (reference objects),
for which we do not call get_val on internal object, but return the
object itself.  Had not been taking this into account.
Added a simple test to see if handling nested maps appropriately.
Beginning to add multithreaded object support.  Waiting elements wrap active events that are waiting on read/write locks on a locked object.
In multithreaded object, adding acquire_read_lock and
acquire_write_lock.  Note that the data_wrapper_constructor's
construct method look different from the python code.  In python case,
we're constructing with the wrapped value, in java case, we're
constructing with unwrapped value.  Left warnings in the code, just in
case it doesn't work.