Refactors timeouts and retries

Instead of implementing our own timeout and retry mechanism, we rely
on Faraday for that.

We just pass `connection_timeout` and `read_timeout`, as well as `retries`
to Faraday.
Merge pull request #108 from jaimeiniesta/faraday_timeouts

[WIP] passing control of timeouts to Faraday