Implement simple C++ test harness generation

The idea here is that you specify what queues you want exposed to the
host, along with their names as they should be exposed to the
remainder of your C++ code.  PBus then generates the necessary wiring
in order to expose these queues to the host along with a C++ header
file that contains a class that does some internal bookkeeping.

Currently the only implementation is the "CXX" backend, which assumes
that your DUT is running in Chisel's C++ simulator and therefor your
test harness has direct access to the DUT state via memory.  This
interface explicitly creates an IO bundle to ensure that signals are
not optimized away (rather than attempting to look inside the class
directly).

The CXX backend doesn't support mapping queues from deeper that the
top-level Chisel module, but it should eventually support that.

There is an example test case that uses the CXX backend.