Do not set a specific source level for javac

By default, it is more sensible to trust that the configured javac executable does the "right thing"
More reliable/flexible detectiob if Java classes containing main()

Also, allow the Builder checkers to accept solutions without main method.

* Requires jclassinfo
* Requires migration, due to new field in Builder

Fixes #178
Fixes #179