Updated javadoc
Created test for the InstallerOperation

Pulled out an inner class
Moved installation related classes to their own classes
Extracted InstallerOperation branch code to hook methods.
added comments