Configurator tests

Fairly large overhaul of Apache configurator in order to allow for unittesting.  The unittests aren't complete, but this includes a fair start.  I would like to get this merged with master so that everyone can work with the same code.  I will then continue to go for 100% unittest code coverage for the configurators.

I believe I only added one new public function (get_version()) which does contain a unittest.

All of the unittests pass, my demo integration tests pass and I have removed all pylint errors.

Comments are welcome.
`self.version = self.get_version() if version is None else version`, as `version` is not boolean