Add a limited number of attempts on HTTP timeout

Default is 3, this means if curl gets a timeout error
we wil retry a few times, if it occours again after all
attempts have been tried it throws an exception

Fixes #90