Use ZeroMQ for multi-threaded building (regression!)

Architectural design is documented in
doc/Distributed-Design.md.

This patch is a regression in the following ways:

* Database (persistance) support has been removed (i.e.
  hasn't been integrated into the broker (architecturally or
  in the code)).

* The Python bindings are broken.

* You cannot build with deep hierarchies due to how workers
  are implemented.

* Parallelism hasn't been tested at all.

* I'm uncomfortable with the style (continuation indentation
  confusion, and error handling (B_Exception)), so the style
  is kinda screwed up throughout this patch.