Refactoring of EL Change Host Name

As I mucked with #2653, and read the history on #2592 I realized that the plugin for changing host name on Enterprise Linux didn't seem clean. Looking in the codebase, the Debian / Ubuntu versions seemed to be much cleaner and with unit tests. So I did a refactoring of this plugin following the Debian pattern and added some tests as well.