Debug interface

This implements the C++ debug interface proposed a few weeks back - basically functions to peek/poke into a module's internal state using only strings. The code isn't flawless (in fact, the dot hierarchy name resolution is broken with anything except modules), but I wanted to get this merged so the tree stops diverging. The API should be regarded as in-development and is expected to change.

Notes:
- emulator.h is a bit messy, but I did what I could given the existing state of the codebase.
- The modifications to chisel are minimal, requiring only that the module generates the name mappings on init.
- The algorithm for resolving names in the C++ emulator is basic and inefficient (linear scan), but it's good enough for now.
- Further improvements may include speed and objects representing a module hierarchy, but those will require more changes to the Chisel backend.