Merge changes from square/master into google/master

Merge in recent change from upstream, including:

  * square/dagger#383 - Do not mask underlying exception message when binding.
  * square/dagger#376 - Use a simpler means of installing the Android SDK.
  * square/dagger#375 - Switch Android example to use addsTo for a complete module.
  * square/dagger#374 - Switch Queue to better performing Deque (ArrayDeque)
  * square/dagger#361 - Prepare for 1.2.0.
  * square/dagger#360 - Add far JAR for users without a dependency manager.

Straight git-merge with minor conflict resolution.