Add support for file input fields

Uses `FormData`, if available, else it falls back to the current way of handling fields. I also added a check to see if there were file fields present (when falling back to old way of handling) and exit if so (to let the browser handle them properly).

Fixes #225
Nah. Forms will never have method=HEAD as they can't do anything with the information that the server would yield.