Kill StaticObserver and enable start/stop of ReplicaSetMonitorWatcher

This is slightly reworked version of the initial PR. 

- StaticObserver is no more
- added initialize() method to ReplicaSetMonitor
- call initialize() where needed in tests
Hmm...

```
boost::lock_guard<boost::mutex> lock(watcherLifetimeLock);
if (replicaSetMonitorWatcher)
    return;
boost::lock_guard<boost::mutex> lockSets(setsLock);
seedServers = StringMap<set<HostAndPort> >();
// ...
```

Or, can you not be holding setsLock when you construct the RSMW? If that is the case then you can't eliminate the extra scope so no point messing with it. Or have I misunderstood what is going on here?