First cleanup of the project

I have rearranged the project structure and I have removed all the stuff which isn't needed for the core. I have also removed the Java API, but this can be added back at a later time. The reason for the radical cleanup is that the code has so many hardcoded dependencies to other components, so that it's impossible to get the project compiled. My next plan is to change all plugins into loosely coupled implementations which follows the design by contract paradigm so that dependencies can be injected into it. This isn't possible with the plugin architecture. My goal is it to get the code compiled, so that we can create tests for it.