Use factory method to create Os objects from name
Merge branch 'os_factory_2'

Pull request #146