Part Headers

Resolves #76 

- Do not export `Part` constructor
- Export `Part` member accessors instead
- Add `addPartHeaders` to add headers
- Update `renderPart` to add additional headers

It seems like this has the potential to break a few downstream libraries, but the four libraries in this repo seem to build at least.

A few questions:

- Should I remove `addPartHeaders`, since exporting the `partHeaders` accessor seems to allow adding headers directly via record update.
- Is it necessary to encode the header content in any way? I don't see this being done in the `Content-Disposition` header, but I was wondering anyway.

Thanks.