improve build process, part of #481

fix oneJar code coverage issue (coverage info corrupts JAR), test built SlamEngine JAR, allow environment variable overrides of backend-config, modify travis to use local mongodb override, auto-import zips data set when in travis builds. note: publish script has not been updated and jenkins is no longer expected to work.
Something about this seems off: if the variable is called `SLAMDATA_MONGODB`, then why does the value contain a dictionary with `mongodb` as a key? Is there meant to be one env var per backend, or one per backend type, or what?