Typo
Give BatchingBolt threads friendly names

Helps during debugging, can use threading.current_thread().name.
Override BatchingBolt.emit

BatchingBolt.emit will not return task IDs a tuple was emitted to as it
currently causes a complication due to the _batcher and main thread
calling read_task_ids and read_command respectively.

Properly returning task IDs will require some major reworking of the
IPC layer.

Since we are sure that only the main thread will be reading from stdin
now, we can move tuple reading and group keys outside of the
_batch_lock.
Fix bug in test util ShellProcess.query_subprocess
Formatting
Update Bolt tests to send task_ids after emits

Also, formatting updates.
Update BatchingBolt tests
Add handy instance variables to Bolts and Spouts

Very handy with debugging, perhaps these should actually be “public”
instance vars (e.g. self.debug).