Added smallHash function

The smallHash function was added to make it easy for edm::Hash to be used as a key to any hash based container, e.g. tbb::concurrent_unordered_map.
Made ParentageRegistry its own thread-safe class

Changed ParentageRegistry to be its own class. To allow safe concurrent reads/updates it internally uses tbb::concurrent_unordered_map. Most of the used interface was kept the same, however ‘clear()’ was promoted from a function performed on a return value of a different member function to its own member function.
Merge pull request #906 from Dr15Jones/makeParentageRegistryThreadSafe

Multithread framework -- Make ParentageRegistry thread-safe