Simplify static handler and BlockManager status update logic

This commit gets rid of BlockManagerStatusListener, which is there only
because of initialization ordering issues. The solution is to declare
LiveListenerBus from the onset, pass this into BlockManagerMasterActor,
and have the LiveListenerBus buffer all events until all relevant listeners
are registered.

This is done by putting the creation of the asynchronous listener thread
into a start() method, such that all queued events are not actually
released to registered listeners until this is called and the listener
thread is created.

This also includes a couple of smaller clean-ups suggested by @pwendell.