cleaned up plugin class and divided installer into Installer/CoreInstaller and Installer/ModuleInstaller

removed original Installer
updated tests
refactoring core installer
refactoring CoreInstaller