refactor for reuse, make target check majorminor only.
repl space with tabs.
Merge pull request #646 from parrt/refactor-version

Refactor RuntimeMetaData for reuse of code. Make Target check only major/minor version.
Prepare for next development iteration
Merge pull request #647 from sharwell/4.4-dev

Prepare for next development iteration
add comment
Re-factor loading profile in the streams so that I can reuse that load elsewhere. handy function.
add unit tests for -o and -lib; improve BaseTest: refactor writeFile to Utils. -o options and others not accepted by antlr().
Merge pull request #645 from parrt/test-tokens-and-imports-dir

More tests of -o and -lib for .tokens files and imports, some useful refactoring.
add new panic() method, though not yet used. revert to java target if cannot find specified target
Add regression test for #649
Don't process parser if lexer processing failed
Make sure Target could be loaded before continuing the code generation process
Update CodeGenerator.getTemplates() to return null if the target could not be loaded (fixes #649)
Add Nullable and NotNull annotations to getTarget and getTemplates methods
Handle missing code generation Target in LeftRecursiveRuleAnalyzer
Handle missing code generation Target in LexerATNFactory
Handle missing code generation Target in CodeGenerator methods: unexpected code paths now throw UnsupportedOperationException
Handle missing code generation Target in CodeGenPipeline
Handle missing code generation Target in BuildDependencyGenerator