Split drivers into individual classes

By way of a point of discussion, I've broken out individual drivers into their own classes. This cleans up a lot of pretty epic switches, but I've mostly done it so I can eventually add ohai hints into the correct classes automatically. 
This commit also adds a very tiny amount of rspec.
I backward and forward-ed on this one, because actually the DigitalOcean provider as it stands doesn't set a creator. Although thinking about it now, I like moving the empty string to DO and raising here, because it reflects intent.