[core] Deprecate Fog::Connection

This reapplies the deprecation warnings that were originally part of
7ee3535 when using Fog::Connection request.

Unfortunately the Mock world does not exercise any of the code affected
by this change so I missed that I had adjusted the signature of the
method.

If you pass a parser argument into Fog::Connection you should switch to
using Fog::XML::SAXParserConnection and pass the parser as the first
argument to `#request`

If you don't it is better to use Fog::Core::Connection to get rid of the
backwards compatibility code and XML dependency.

This will make fog VERY NOISY since you'll get output for every request
on out of date services.
[GH-2711] Add Fog::XML::Connection

Attempting to move to using Fog::XML::SAXParserConnection directly
failed because the arguments changed.

This adds another compatibility level with two key differences:

1) It's namespaced within XML so stands out as not being part of core
2) It is NOT creating deprecation warnings so can be used as the final
   step if rewriting to use SAXParserConnection is undesired

So when merged Fog::Connection usage will create noise.

Fog::XML::Connection works the same way and will be extracted to
"fog/xml" when we get to it.

Fog::Core::Connection just wraps Excon.request and leaves the response
body parsing to the provider.
[GH-2711] Replace Fog::Connection with XML shim

Unlike last attempt this replaces Fog::Connection with
Fog::XML::Connection which should be directly compatible.

Fog::Connection is there for old PRs but should be removed real soon.

Providers using JSON should be able to replace "XML" with "Core" within
their code to cut down on the dependency.

If I get the time I may attempt to clean up some but testing with Mock
will mean that is mostly educated guesswork.
Merge pull request #2711 from fog/connection_deprecation_warning

[core] Deprecate Fog::Connection