Multipart request improvements.

* Added fileName() to TypedOutput so non-File parts can be named.
* Support Content-Length in multipart requests.
* Serialize parts to byte[]s so length is available.
Merge pull request #183 from codebutler/master

Issues with new multi-part implementation