Timeout retries

as discussed in #89 

new features:

* Retries (hardcoded at 3). my gut is to leave this as it is unless people request that it be made adjustable. i suppose if someone is commonly scraping a really flakey source they might want to increase this, or if someone doesn't want to ever be forgiving they might want to decrease it.
* raises MetaInspector::Request::TimeoutError after 3 failures, which the application can then catch and deal with.

MetaInspector::Request::TimeoutError has the same name as the legacy name for Timeout::Error, but this still works, and in fact that is the reason that Timeout::TimeoutError was renamed (I'm guessing), so that meaningful classes such as this would could be made.


Do we need this instance variable? Can't this be solved with a local variable inside the `response` method?