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
What about HEAD?