Address some of Mike's review comments:

* Refactor the whole safeAddAttachment thing
* Add some doc comments
* Remove multipart reader
* MultipartAttachmentWriter.java tweaks
* Better constructors in Attachment type hierarchy
* Refactor the attachment Encoding enum
* addMultiparts -> createMultipartWriter