load foreign OS through .new(:OS), tests
Merge pull request #5 from labster/master

support for multiple OS without calling the subclass directly