Removed unnecessary include of ThreadSafeRegistry.h
Switch to std::mutex in ThreadLocalRegistry

The ThreadLocalRegistry was previously using a boost::mutex but we now prefer std::mutex.
In addition, since all templated instances of ThreadLocalRegistry use the same global mutex,
the storage for that mutex was moved to its own .cc file rather than having each use of the .icc
file create new storage.
ThreadSafeRegistry is now fully thread-safe

-Removed all the interfaces which provided direct internal access
 to the container and therefore were not thread-safe
-Protected all remaining interfaces with the mutex
-Made the mutex a member variable to avoid creating one each time
 the .icc file is included.
Merge pull request #4765 from Dr15Jones/switchToStdMutexInThreadSafeRegistry

Switch to std::mutex in ThreadSafeRegistry