Fix issue where MenuItem tags were getting lost in portrait mode

If MenuItem tags are not discovered correctly, Navigation Editor cannot
show the correct source for menu transitions. (Default behavior was to
indicate the entire menu - which was confusing.)

Change-Id: Iccdc04a6f6c9ebca687c4168b48aed1683c30d01
73991: Adds ApkInstallerService to not upload an apk twice

AndroidStudio will now push only the APKs that have changed.
This is done by keeping a cache in memory of the APKs hashcode that
where pushed to a specific location on the device.

If the APK content changed or the device is disconnected the cache
is cleared.

This is silimar to what we did in Eclipse.

See https://code.google.com/p/android/issues/detail?id=73991

Change-Id: I6d7f67b20819c6ea864361e068204f4e8063da78
Merge "73991: Adds ApkInstallerService to not upload an apk twice" into idea133
Add configuration switching tests.

Add a few more test cases to testConfigurationTweaks when a layout
overrides an API level.

Change-Id: I2b7571efb9d0b9b278fada5c4c215ec669854071
Merge "Add configuration switching tests." into idea133
Merge "73991: Adds ApkInstallerService to not upload an apk twice" into idea133
automerge: b8f21b0

* commit 'b8f21b04ca2a5a5328149cfdbb51e50ccea5d8e8':
  73991: Adds ApkInstallerService to not upload an apk twice
Merge "Add configuration switching tests." into idea133
automerge: 5d30b61

* commit '5d30b61ba110db9802f8d6e48b1461da51c824b5':
  Add configuration switching tests.
Merge "Fix issue where MenuItem tags were getting lost in portrait mode" into idea133
MemoryMonitor: Makes sure DDMS is properly initialized.

It also adds a bridge listener in case the connection is lost and restored.

Change-Id: I0ac07b629b8a2dcd013e02beda4f97f427f97f50
Merge "MemoryMonitor: Makes sure DDMS is properly initialized." into idea133
Merge "Fix issue where MenuItem tags were getting lost in portrait mode" into idea133
automerge: 51e7b21

* commit '51e7b2162853f1fb719609ea270abfed9cb7f901':
  Fix issue where MenuItem tags were getting lost in portrait mode
Merge "MemoryMonitor: Makes sure DDMS is properly initialized." into idea133
automerge: a9b21ba

* commit 'a9b21bacd6e5e0b19983c9c3384c46cdd5fcfd6d':
  MemoryMonitor: Makes sure DDMS is properly initialized.