Now we offer to migrate to wrapper if project uses unsupported Gradle version.

The use case is the upgrade to Android Gradle plug-in 0.13, which requires
Gradle 2.1.

If the project is configured to use a local Gradle distribution, but the path
of the distribution:
- is empty
- does not belong to a Gradle distribution
- belongs to a Gradle distribution that is no longer supported
the IDE will ask the user if she'd like to migrate the project to use the
wrapper:
- if user accepts, a wrapper is created (with the correct Gradle
  version) and project is sync again
- if user does not accept, the IDE shows the 'Select Gradle distribution
  path' dialog, where users have to manually select the path of the local
  Gradle distribution. Once the user selects it, the IDE will automatically
  sync the project.

Change-Id: Ifc2bdc9ed64443bf0c2c6de92b7c025ba5c94369
Added hyperlink to migrate to Gradle wrapper if sync fails because of unsupported version in local Gradle distribution.

This is part of the work related to migration to Android Gradle plug-in 0.13.

If Gradle sync fails because project is using plug-in 0.13 with an unsupported
Gradle version (1.*) and the user did not set the IDE to use the right Gradle
version (the IDE prompts user to do this automatically before sync, but user
can opt out,) the error message will show a hyperlink that migrates the project
to the Gradle wrapper using the right version of Gradle, and automatically
syncs project after that.

Change-Id: I4d42829bfb83a5aac19810a96cd7de9bbc3c2c25
"SDK Settings" page logic

Change-Id: I0b44143426763181aef7201be76328e3e9e7f504
75983: Sync notification doesn't trigger for all edits

There were two bugs that needed to be fixed:

1) We need to not just check file stamps for build.gradle files, but
   also the document registry to see if the .gradle file has been
   edited but not yet saved

2) We need to trigger the editor notification check not just for the
   PSI childReplaced event, but for childAdded and childRemoved as
   well.

This CL also adds GUI testing support for the editor notification
facility; it can now check that there are no editor notifications, or
check that a particular notification is showing, and finally it can
click specific hyperlinks in the notifications. The regression test
for this bug performs all three.

Change-Id: Id07f10e5cc412a518da2ea56e6c4196c6f86b97a
Use IDevice.getProperty instead of deprecated getPropertyCacheOrSync

Change-Id: I11f0e2e2d5d876c638e13c73a3f83999ff489c5c
Merge "Now we offer to migrate to wrapper if project uses unsupported Gradle version." into idea133
Merge "Added hyperlink to migrate to Gradle wrapper if sync fails because of unsupported version in local Gradle distribution." into idea133
Merge "Now we offer to migrate to wrapper if project uses unsupported Gradle version." into idea133
automerge: d857fa6

* commit 'd857fa60fc7968cd9ceb761b6764bfaf046f7133':
  Now we offer to migrate to wrapper if project uses unsupported Gradle version.
Merge "Added hyperlink to migrate to Gradle wrapper if sync fails because of unsupported version in local Gradle distribution." into idea133
automerge: 9d025bc

* commit '9d025bc9e9c7a80d17ec773f911a7c72b9e745f7':
  Added hyperlink to migrate to Gradle wrapper if sync fails because of unsupported version in local Gradle distribution.
Use https for logging

Change-Id: Ic1b3439a2775a51685a32846ca9fb7a5af4fb853
Merge "Use https for logging" into idea133
Merge "Use https for logging" into idea133
automerge: ef327b3

* commit 'ef327b304a0845976fda997fc5016bf744da3daa':
  Use https for logging
Merge "75983: Sync notification doesn't trigger for all edits" into idea133
Merge "75983: Sync notification doesn\'t trigger for all edits" into idea133
automerge: 5bc62f2

* commit '5bc62f29f3cdfb8956ee5a8533121b483fa06934':
  75983: Sync notification doesn't trigger for all edits
Merge ""SDK Settings" page logic" into idea133
Merge ""SDK Settings" page logic" into idea133
automerge: 573a174

* commit '573a1748703dc402a274f4ee0eaea8ec34653a05':
  "SDK Settings" page logic
MemoryMonitor: Update tool and action icons

Updates tool window and action icons and adds retina versions for them.

Change-Id: If4a9c0998e8bc9a0a96c66bf2613488a86780f91
Merge "MemoryMonitor: Update tool and action icons" into idea133
Merge "MemoryMonitor: Update tool and action icons" into idea133
automerge: 91a7039

* commit '91a7039ba09384060f9c5993ed35e33a473de397':
  MemoryMonitor: Update tool and action icons
Merge "Use IDevice.getProperty instead of deprecated getPropertyCacheOrSync" into idea133