Adding support for multiple request and model load paths

Hello!

I need to add a few custom requests to my implementation of `Fog::Compute` (the openstack provider, specifically), but found that I couldn't add my custom requests very easily because of the way that fog loads files using `model_path` and `request_path`.

I thought it might be nice to allow for multiple model and request load paths, so that I could do something like the following in my own library:

```ruby
module Fog
  module Compute
    class OpenStack < Fog::Service
      request_path "#{File.dirname(__FILE__)}/openstack/requests/custom"
      request :my_custom_request
    end
  end
end
```

As far as I know, this shouldn't break the API, and single calls to `model_path` and `request_path` work just like they always have.

Also, FWIW, I think this could address issues like https://github.com/fog/fog-core/issues/22 fairly nicely.

Thanks, and let me know what you think (or if you'd like to accompanying unit tests).