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