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 
this comment should be clear by reading the code and doesn't add value I think