Bug Fixes + ThreadSafe ObjGraph

Fixes bugs present in the handling of various arrays and updates the
ObjGraph class to include ThreadSafe support (see: concurrent-ruby for
information on ThreadSafe and ThreadSafe::Hash).

The intention of including ThreadSafe::Hash support for ObjGraph
instances is to allow them to be manipulated safely from multiple
threads, such as preventing concurrency problems with the manipulation
of the Environment variable table.