Added `uploadMethod` for specifying POST/PUT (default POST)
Added `customResponseParser` to allow server responses to come back in different formats (and get handled nicely)
Added `addFileBeforeExtraParameters` property to allow file to be appended after extra parameters
(Amazon S3 has an issue with the `key` not being the first form data element)