Add PutBolt::flush().

It's synchronized as is execute(), which I think is maybe all the locking we need.
doco
Have an interface and production impl of a flushing thread.

Tests coming soon.
Invoke `getFlusher` from `prepare` and mock out `Flusher` in test.
Actually call and verify `prepare`.
Extract verify(flusher).prepare() to its own test.
PutBolt#cleanup calls Flusher#cleanup.
Drop Flusher#setBolt in favor of passing the bolt to #prepare.
whitespace