navigator: Implement equals() method for module nodes

IntelliJ's project view nodes implement equality and hashCode.
However, they only compare certain parameters. For a module
node for instance, they only compare that the modules are the
same. This caused an incorrect equality comparison between the
nodes of type NonAndroidModuleNode and NonAndroidSourceTypeNode,
since both are parametrized on the module, hence the default
comparison by module says that they are equal.

This CL constrains the equals method to only accept classes of
the same type.

Fix for https://code.google.com/p/android/issues/detail?id=75619

Change-Id: I3abc6acc6476612338f2479c653d0f59ad80cb04
(cherry picked from commit b576d3e37e3f42cafcbfe862190d1bf79787ff03)
Merge "navigator: Implement equals() method for module nodes" into ub-tools-idea133-release
[UI Testing] Fixed test GradleSyncTest#testUnsupportedGradleVersion

This CL:
- Fixes that broken test (passes when run individually, but gets
  stuck when ran with the rest of test methods in the class)
- Adds a new project: OldAndroidPlugin, which uses plug-in 0.12
  and build files use mavenCentral() to be able to use Gradle 1.5
- Changes SimpleApplication to use jCentral()
- Introduces super class for all the fixtures that deal with
  IDEA dialogs.

Change-Id: I7ba0c48107b76243fef2a2d4e6dc827322a7cbc8
(cherry picked from commit 75a3ece5ea185fb4af8e45f45052c3de9c13dc11)
Merge "[UI Testing] Fixed test GradleSyncTest#testUnsupportedGradleVersion" into ub-tools-idea133-release
[UI Testing] Fixed GradleSyncTest.

Execution of tests in GradleSyncTest was getting stuck when
running testUnsupportedGradleVersion. The reason is that the
IDE's file system needed to be refreshed before finding the
VirtualFile that corresponds to the file to select in the
"Open Project" dialog, and refreshing the local file system
while the modal dialog is up resulting in the UI to freeze.

The fix is to refresh the local file system (if necessary)
before invoking the "Open Project" dialog.

Change-Id: I0cc893d5375f549aee4f478334b07cf3872fbe97
(cherry picked from commit 32f4d0e4db0e65cd8adba98c7dee0164e453a158)
Merge "[UI Testing] Fixed GradleSyncTest." into ub-tools-idea133-release
Fixed regression where projects wrapper was not created for projects using it.

This CL fixes a regression where the Gradle wrapper was not being
automatically created for projects that are configured to use the wrapper
but, for some reason, did not have the wrapper. This CL fixes that
by automatically creating the wrapper if necessary.

This CL also fixes another bug: Gradle sync warns the user that the
project is using the wrong version of Gradle only if the project
is using plug-in 0.13.0. In this CL we extended the check to all the
supported versions of the plugin: 0.12.+ and 0.13.0.

Change-Id: I0c2e4b2d86bc5ae4c6f0d87afd9daa4d70943d24
(cherry picked from commit 17a3b8f20fbc02fb5d7ebcd50d7ffefe8db9539b)
Merge "Fixed regression where projects wrapper was not created for projects using it." into ub-tools-idea133-release