fixes #2127: added support for root password hashing other than MD5

This is an alternative (to https://github.com/theforeman/foreman/pull/1736) implementation. Instead of having a global setting, a per-os attribute has been introduced. 
also wrong usage for Foreman::Exception, should be N_() and pass the printf data in as additional args