add support for filename multipart/form-data

filename extensions used in the request are automatically appended to
the url/location in the response.

also includes miscellaneous cleanups and code-deduplication
add file upload to form; prettify form somewhat

nice tweaks to stream selection logic
lazy index update

shows preference for filename/@ over form/< and that we can do binary
over form-data now.
Merge pull request #28 from buhman/filename-form-data

filename form-data