Follow HTML 5 draft and avoid RFC 2231 by default.

This passes the request object along for field rendering.
Two attributes of the request object control that rendering:

* `field_encoding_style` which may be `HTML5` or `RFC2231` controls
  the encoding of non-ascii field names and file names.
* `form_data_encoding` can be set to encode the form with something other than UTF-8.

See the current (as of this commit) version of the HTML 5 standard
for details on their idea of [how to format multipart/form-data][1].
This addresses shazow/urllib3#303.

[1]: http://www.w3.org/TR/2013/WD-html51-20130528/forms.html#multipart-form-data
Added unit tests for some recently added functionality.
Avoid passing the request object around, pass only the required settings instead.
Merge pull request #1 from msrajan/issue303a

Apply fix for upstream issue303a