Add denormalized structure builder

Useful for writing tests or manually creating structures.  It's
typically easier to hand write a denormalized model than it is to
write a normalized model, at least for simple cases (as is common
in tests).

cc @danielgtaylor @kyleknap 
It is not completely clear how this class is being used. A comment or docstring would be nice.