fixes #8465 Add Digital Ocean Support (this time with fixes)

Sorry, this is a re-request from #1974 .. I messed up and had to re-create the branch.

Please see that for history.. this is intended to become a module *probably* :)
```Fog::Errors::Error``` should suffice, I could not find any errors of other kind in this provider. The ```Excon::Errors::Unauthorized`` is fine, it's a mistake on the provider though, it's probably not too hard to fix in Fog.