Eng 3176

Track a list of verboten threads that aren't allowed to use ZooKeeper and have the ZK client crash if one of them does make an attempt.

Also fix the usage of the last message time field in ForeignHost, it was previously a non-volatile field that was only ever written to by a single thread. Barring JIT optimizations that elide the read or write that should actually work fine, but it could be a source of trouble so I changed to an atomic long.

Also added a check to the estimated time update so it will log if the estimated time is not updated for two seconds (it should update every 5 millis). It's possible the network thread might block on something and cause timeouts.