A prototype for object-to-object mapping.

I wanted to see how involved writing an object-to-object mapper could
be. This is nearly the simplest thing that could possibly work. I threw
in some bells and whistles to make it easier to work with collections.