Generating classes in their own packages

* Enables default scope for @Subscribe and @Produce methods
* Prevents name conflicts
* Finder, Producer and Subscriber now need to be public, and are therefore moved to the internal package.
* BasicBus install and uninstall methods need to be accessed from another package and must not be made public (therefore no interface). This patch introduces an Installer inner class as a trojan.