Compile to a build dir instead of the source dir
Allow points in the filename
Fix java compilation for small projects

It seems best to always call the compiler from the source directory and
prefix the files with the package name they are in.

This commit respects this, by setting the working directory and handling
the different feedback
Add a MainMethodFinder to find the main method in the tree

For now it only supports finding a Java main Method, but it
could be
extended for other languages.

This is needed to run a compiled program later.
Clear old compiler/export messages before adding new ones