Fix GerritProjectListTest to have no dependency on the tests execution order

Sometimes, the testAddProject is not first one executed and this is why the 2 other
test cases are failing. Implemented before and after methods to setup and teardown
anything required by the test cases so they no longer depends on testAddProject to
be executed first.
GerritTrigger.equals/hashCode -- don't use AbstractProject

AbstractProjects are very temporary and shouldn't be used for
comparison.  Instead, AbstractProject.getFullName() should be
used.

JENKINS-10709: multiple builds are triggered for one change in Gerrit
BuildChooser to retrieve the revision to be built from GerritEvent
Merge pull request #68 from mathieu-wang/master

[JENKINS-17850] Add multiple Gerrit server support
Merge pull request #77 from docwhat/jenkins-10709-multiple-builds

GerritTrigger.equals/hashCode -- don't use AbstractProject
Merge pull request #79 from ndeloof/master

BuildChooser to retrieve the revision to be built from GerritEvent
Merge pull request #78 from hugares/fix-failing-tests

Fix GerritProjectListTest to have no dependency on the tests execution order