Factory Instantation of Destination Objects

Added the ability to create translation targets using a factory. In
particular, this allows the substitution of subclasses or
implementations of an interface within a translation.

This has particular merit with translation of parallel hierarchies,
although it also has value when defining classes with interface-based
properties and the like.

Closes #75, for now; although I may soon want to do the same thing
but for collection properties.