Split Travis tests into three phases.
Split Travis tests into three phases.

This gives a "smoke-test" phase which just runs the Java tests, to get a
quick check that compilation is working.  It is followed by the
"main-test" phase that tests each target on their preferred platform
(e.g. Swift on macOS, Python on Linux) followed by "test-extended"
which runs all the remaining tests (all the other Java variants, and
any other platforms supported by each target).

This means that those tests in the later phases won't run unless the
earlier phases have passed.  This should vastly improve our Travis
turnaround.

This changeset also changes the matrix so that we get some coverage across
all of openjdk7,8 and oraclejdk7,8 and moves the Go and Javascript tests
to Trusty just so that they are more up-to-date.  This adds one additional
Java test run, so now we compare oraclejdk8 and openjdk8 in case of
problems in that regard.

Note that the test matrix has not been extended to cover oraclejdk9.  This
currently fails for us with a build issue, so it is not included in this
changeset.

This changeset also removes the meaningless custom apt configuration in the
section for macOS .NET tests.

antlr/antlr4,antlr/antlr4,parrt/antlr4,parrt/antlr4,ericvergnaud/antlr4,ericvergnaud/antlr4,parrt/antlr4,ericvergnaud/antlr4,parrt/antlr4,ericvergnaud/antlr4,antlr/antlr4,parrt/antlr4,ericvergnaud/antlr4,antlr/antlr4,parrt/antlr4,ericvergnaud/antlr4,ericvergnaud/antlr4,parrt/antlr4,ericvergnaud/antlr4,ericvergnaud/antlr4,ericvergnaud/antlr4,antlr/antlr4,antlr/antlr4,antlr/antlr4,parrt/antlr4,antlr/antlr4,antlr/antlr4,parrt/antlr4,parrt/antlr4,antlr/antlr4