Update Travis to use Android worker.

The Android worker is a superset of the Java one which includes functionality for automating installation of Android components.
Merge pull request #38 from square/jw/stand-travis-back-up

Update Travis to use Android worker, include JDK 8.
Add closing h2 tag
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71691383
Fix up some stray imports.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71693968
Fix an issue with the AnnotationMirror/Value Equivalence where types would not be considered equal if the actual TypeMirror instances associated were not the same instance.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=71694065
Add MapBinder
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72191241
Create package proxies for references to types that aren't visibile to the component (but the factories and members injectors are).
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72334409
Update Truth package name to the new location.

Tested:
TAP -p dagger,dagger_users #only tests are changed
[]
Cloned from CL 72333859 by 'g4 patch'.
Original change by kak@kak:rosie72333242-0189_Rosie:14707:citc on 2014/07/31 10:57:33.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72342044
Changed the Enum name for Bindings Type (from "SETBINDING" to "SET_BINDING") and modified the loop logic for mapbinding in ComponentGenerator.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72377763
Migrate usages of Truth's Subject.is(Object) to isEqualTo(Object). The former is being removed.

Tested:
TAP --sample for global presubmit queue
[]
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72403046
Make an obscure error more robust.

This showed up in a big server's test as an obsucure error of this form.

@this.package.MyAnnotation/some.long.Class$ClientGenerated$Thing required by @this.package.MyAnnotation/some.long.Class$ClientGenerated$OtherThing @this.package.MyAnnotation/some.long.Class$ClientGenerated$Thing thingy
<stupid long stacktrace>

It's a case that shouldn't exist if people prime the ObjectGraph with the modules they compiled for, but is the one place we fail in Dagger 1 to keep errors early, since we can't prevent someone from assembling a different combo of modules than they tested.  So we should at LEAST be saying what the hell is going on and not having the stupidest error ever.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72558449
Enable fallback generation for factories and members injectors.  Additionally enable proper delegation for members injectors of supertypes.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72565122
Change import handling to only consider snippet arguments that were specified using type names.  No more cleanups for things that happened to look like type names.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72608266
Use Truth.assert_() instead of ASSERT
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72726400
Flip unwrapped boolean value for MapKey
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72764817
Log null values returned from @Provides methods.  Also, allow ScopedProvider to accept null values while @Provides methods do as well.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72832587
Ensure that methods are not implemented more than once in a component.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72848874
Support both unwrapped map key and wrapped map key for MapBinder.

@MapKey annotation has a boolean type element: unwrapValue. If unwrapValue equals true, the value() type of key type annotation will be the key type for the injected map and the value() instances will be the keys. If unwrapValue equals false, the whole annotation will be the type and the annotation instances will be the keys for the injected map.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72908778
Support to inject two kinds of maps: Map<K, Provider<V>> and Map<K, V> for MapBinder.

The implementation strategy for injecting Map<K, V> is that we will first create a DependencyRequest on the corresponding Map<K, Provider<V>>. Then we will create an implicit ProvisionBinding for Map<K, Provider<V>> which will become the case of injecting a Map<K, Provider<V>> and it is already supported in []
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=72917478
An initial cut of better error messages at compile time.  Initially includes missing bindings and cycle detection.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=73222696