Other HTTP Methods support payloads
Fix to allow other HTTP methods such as PUT and PATCH to support including request payloads. Follows HTTP standards and improves compatibility with curl. The change is to not force the use of POST if a request payload is provided via data. Instead, treat POST as the default if method is not provided, but use the given method if there is one.