Improve CI config: Add allow failures, fast finish and more

Explicit inclusion to build matrix: android 19 and 21, google_apis-google 19 and 21.
Allow failures: google_apis-google 19 and 21.
Fast finish: true
Removed default values defined when AVD is created using bash syntax ${name:-default}
Add tag and name variables to support google_apis and android-wear.
Add a build-tools global env variable shared by all the jobs.
Remove android-20 and sys-img-armeabi-v7a-android-21, already installed by default.
Add MOBI_PKGS variable to list specific packages to be installed for a mobile AVD and job.
Improve SDK updates: avoid to install components already installed or not required.

Explicit inclusion of jobs to a build matrix (JDKxENV) empty.
Now If JDK is defined, must be defined here, otherwise an extra default job will be added.
Allowed failures can fail without causing the entire build to be shown as failed.
Build will finish as soon as a job has failed, or when the only jobs left allow failures.
http://docs.travis-ci.com/user/build-configuration/

Travis CI VM workers updated on December to include SDK tools 24.0.0 but missing
tools(24.0.1), android-21, sys-img-armeabi-v7a-android-wear-21 and latest extras updates.
Cookbook used: https://github.com/travis-ci/travis-cookbooks/tree/6fa020b

By default `android update sdk --all` is executed for each component added to the script.
This can be improved executing only two android update sdk (with/without --all arg):
- Repositories are checked only 2 times vs n times.
- Components already installed can be updated ONLY when an update is suggested.
- If cache is enabled, extras will be updated first time and no reinstalled next builds.
- New components can be defined to be installed only for a SPECIFIC job.