[WIP] passing control of timeouts to Faraday

Regarding #107 we should move the timeout control to Faraday itself. 

This is still a work in progress, I still want to:

- [x] Make use of the 2 different timeouts that Faraday accepts (connection and read).
- [x] Use the [retry mechanism](https://github.com/lostisland/faraday/blob/master/lib/faraday/request/retry.rb) provided by Faraday.