Improved Multipart support & added connection settings

I've done quite a bit of refactoring, moving much of the logic to a message subclass.  I spend most of my time in Ruby (rather than Java), so let me know if anything looks especially weird.

There are unit tests for the new classes, and almost no changes were needed to the MailerTest.

I intend to add a patch with DKIM support as well.

Thanks!