Digital Ocean ohai/cloud support

This PR does a few things:

* Implements a Digital Ocean ohai plugin
* Adds support for said plugin to the cloud plugin
* Adds support for said plugin to the cloud_v2 plugin

I will be issuing a separate PR to `knife-digital_ocean` for hint support.
I'm a little uncomfortable about having eth0 and eth1 hardcoded... 

If it's possible for public and private IP addresses to be located in other interfaces, we should either change the logic to search all interfaces if information is scattered, or put something like `digital_ocean[:public_interface]` into hints and use `eth0` if not present/set if a single interface is used.