By default, retry only HTTP methods known to be idempotent, user can optionally configure other methods - fixes #298

This changes the default at the retry middleware to retry only on methods known to be idempotent, other methods (`POST`, `PATCH`) will not be retried by default but the user can do so by sending in a `:retryable_methods` option when creating the connection.

Fixes #298.