Handle temporary registers

I'm not sure if this is actually the right thing to call these, but
essentially if you've got a Chisel register that doesn't have an
assigned name then it gets thrown into a global namespace.

This deals with these by slightly adjusting the definition of what is
exported to a VCD: essentially it now works just like what's exported
to the C++ header file, with a bunch of special rules strewn about the
code.

There's also a test case.