Change Compute default namespacing

Allow for `Fog::<provider>::Compute` as well as `Fog::Compute::<provider>`.
Generic solution so as to avoid more hard-coding in compute.rb.

Includes spec based on identity_spec.rb though repurposed for Compute.

For 2.0, the `Fog::<provider>::<service>`/`Fog::<service>::<provider>`
should be replaced with more explicit names.  Perhaps
`Fog::Builtins::<provider>::<service>` and
`Fog::Extensions::<provider>::<service>` or similar.

TL;DR: I'd rather have another layer of modules, containing an intent-
revealing name than a conventon where `Fog::<provider>::<service>` implies
one thing and `Fog::<service>::<provider>` implies another.