ENV-5712 Refactor VoltCompiler to support non-file DDL compilation.

This is a prerequisite for compiling DDL from in-memory catalog jar.
Checking in to test that nothing broke. Also has support for upgrading
the catalog if the version is different, but without DDL recompilation.
ENG-5712 Refactored compiler project handling for auto-upgrade.
ENG-5712 Fix TestInMemoryJarFile.
Merge branch 'master' of github.com:VoltDB/voltdb into ENG-5712
ENG-5712 Unit test and project.xml fix.
ENG-5712 Merge
Merge branch 'master' of github.com:VoltDB/voltdb into ENG-5712
ENG-5712 Fix unit test.
ENG-5712 Respond to review.
Merge remote-tracking branch 'origin/master' into ENG-5712
ENG-5712 Add negative test and fix project file handling.
ENG-5712 Go back to file-based class loader.
ENG-5712 Can UTF-8 exception handling.
Merge remote-tracking branch 'origin/master' into ENG-5712
ENG-5712: Use jar classloader instead of filesystem one.
Remove "Failed to compile XML" error message. Good riddens.
ENG-5712: Consolodate three new files into two.
Merge remote-tracking branch 'origin/master' into ENG-5712
Merge branch 'master' of github.com:VoltDB/voltdb into ENG-5712
ENG-5712 Write output file, better messages, and groovy test.
ENG-5712: Make the in-memory jarfile classloader work as a silent-upgrade source.