Changed HTTPAdapter to allow max retries to be specified when initializing.
Change the method when it isn't already GET/HEAD

For some reason it was only change the method when a POST was being made. This
is almost certainly my fault.

Fixes #1303
Merge pull request #1311 from sigmavirus24/fix1303

Change the method when it isn't already GET/HEAD
Merge pull request #1309 from toastdriven/better-max-retries

Changed HTTPAdapter to allow max retries to be specified when initializing.