Cleanup and some structural changes

So -- I realize this looks like a *lot* of changes, but it's actually fairly minimal given what I have in mind :smile:.  The basic gist of this set of changes was to tackle your TODO to combine Shipper and ShipTo.  That inspired me to do all sorts of crazy things involving a base class for all XML-generating classes, so that's kind of the direction I'm going with things for the moment.

Let me know if you have any questions about this -- obviously feel free to ignore it if you're not interested in external contributions :smile: