We require setting up MiniSpec and `fog` in each spec and this just
feels cleaner way of doing it.
Adding Coverage next and we don't want the code in EVERY spec.
The abstraction modules e.g. `Fog::Compute` have a list of registered
providers. All of these providers should be loaded correctly when
accessed with `Fog::Service[:provider]`
These tests hit each endpoint expecting `ArgumentError` from each
provider caused by the lack of credentials.
Credentials are stubbed out to not cause false results when the test
environment does have credentials for a service.
Some services do not have requirements so do not raise the expected
error. These special cases are just asserted. If they are not loaded the
specs fail again.