AWS frequently takes more than 3 seconds for an instance to appear.
Rather than having the overlapping timeouts for reload and
instance_eval, simply make them both occur with the same timeout.
+ Prevents spurious failures when waiting for AMI
+ Easier to follow flow
The 'connection' accessor in collections and models actually refered to
a subclassed instance of Fog::Service which creates confusion in the
code.
References to 'connection' could have meant the service or the
Fog::Connection held within that service.
This deprecates the connection accessor and replaces it with `#service`
as a read only value. When a collection or model is initalised then
service should be passed.
This commit also updates all the changes to @connection made by
providers in model initialisers since these depending on the presence of
the 'connection' key. The key is still accepted by outputs a warning.
Connection errors had the behavior of failing catastrophically, which had
some rather unpleasant implications for things like Model#wait_for, which
implicitly reload repeatedly without any protection.
This change may be better suited to special cases (e.g. Model#wait_for).