Added frontend/configtool related unit testing and refactoring improvements

This pull requests aims to address the outstanding TODOs inside of the frontend configtool related classes

Related #484 
> if we remove those values a dev would have to update the test

That's normal. If they don't update the test, the build will rightly break. That will either tell us there's unexpected behaviour or someone forgot to update the tests.

> Perhaps it is fine to do this here since the entries in the drop down menus do not change as much?

Sorry, I don't follow. Fine to do what where?