Require individual providers

from discussion in #1695

This clarifies the loading plan for Fog in a way that makes it obvious that each provider should be independent. I can't think of a way to strictly enforce it, but I've verified that each provider requires cleanly by itself and fixed a couple that weren't properly using ```require fog/core```.

Most providers could already be required separately, and the included ```benchs/load_times.rb``` shows the benefit:
```
$ git checkout require_individual_providers
$ ruby benchs/load_times.rb 
require fog:
0.6303

require fog/aws:
0.4830
```

for sanity:
```
$ git checkout master
$ git checkout benchs/load_times.rb -- require_individual_providers
$ ruby benchs/load_times.rb 
require fog:
0.6233

require fog/aws:
0.4827
```