Make Map thread-safe.

Now all of cstructs is thread-safe in the sense described below, except
for finding and sorting in arrays.

Things are thread-safe in that different threads may simultaneously
access *different* objects. However, simultaneous access to a single
object is still not safe.