Travis-CI improvements: cache .m2 and apt status; separate unit tests & pipeline tests; test -runLocal

@JavierJia @anbangx @Nan-Zhang 

Our builds have started to time out, thanks to a loooong `mvn` download process in some cases and the fact that our unittests take a long time to run.  I've added caching to the `~/.m2` directory to speed up subsequent builds and have broken up the run into 3 steps-- unittests, pipeline tests, and pipelinetests with `-runLocal`.