Added remove method to OplogMonitorThread.

Created InvalidDBNamespaceException.
Fixed a bug preventing the monitor thread from thinking it's done prematurely.

Protected subscriptions with a mutex to prevent errors with the iterator when items are added/removed asynchronously.
Fixed excessive waiting for a socket timeout when stopping a monitor thread by manually killing the cursor.
Added exceptions when invalid namespace is used within the blackboard client.
Renamed OplogMonitorThread to OplogMonitor.