Make ParentageRegistry thread-safe

Changed the edm::ParentageRegistry to be its own class which uses tbb::concurrent_unordered_map. This allows for safe concurrent reads and updates. The hash used by the container is generated by the std::hash function which is applied to the 16byte string internal the the edm::Hash<> class.