Start Module Manager Branch
Module Model Changes

Included two new functions that detect new modules and checks to see if
they have been installed.
Finished Module Manager

Finished off module manager features. updated tests and amended setup
model. Needs final testing before release
Merge remote-tracking branch 'origin/ModuleManager'