Refactor bundle loading process, all bundles in bundle sub-directory is install/update on application start, add some javadoc