WIP
A fairly big restructuring.  First I've moved all the OS specific
stuff into a .yaml file so we can reuse it between different tests
without repeating ourselves, and then I've converted class_spec.rb
to using it.

It's not perfect but it's a lot cleaner than a giant if/else/ tree.