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.
Can you leave a note as to where to find the URLs here?  I find examples helpful when writing a new driver.