Refactor OsInspector

* Use consistent names for all methods which get information about
  the operating system
* Make logic of os inspection more explicit
* Use methods instead of hash elements to access attributes of Os
* Group tests according to which function they test

Supercedes #48 
I wouldn't use a variable here, but just the string in the method since it is use only one time and more clear.