Cleans up the formatters a little bit

HTTPFormatter's Request() returns a *http.Request that is ready for the
outlet to post. The outlet may mark up that request if so desired, but
it's otherwise ready to be handled by the http.Client.

SubFormatter doesn't implement Request because it doesn't make any
sense for them.

A bunch of other misc cleanups
Don't re-implement MutliReader

Also, don't bother storing the Readers in a slice, just pass the slice
to io.MultiReader
shave off a few ns and an allocation
No need to do the conversion
no need to make new 0 length slice
misc cleanups
Merge pull request #33 from heroku/formatter_cleanup

Formatter cleanup