Add OS detection

where
    detectOS is being strict as -> Maybe OS

    detectOSFallback is -> OS which falls back to Fedora and prints
        a warning message to stderr if the detection fails and fallback
        is performed

    new command detect-os is provided for inspection

tested on openSUSE 13.1, Fedora 20 and Gentoo