JBIDE-15402 - Doubled warnings Multiple JAX-RS Activators

Removed the duplicate validation at both the JaxrsApplications level and kept the one
at the JaxrsMetamodel level.
JBIDE-12860 - JAX-RS validation problems are not linked

Added a custom JAXRS_PROBLEM_TYPE attribute in JAX-RS markers.
Those JAX-RS Problem markers are now indexed with Lucene.
Thus, it becomes possible to look for resource that have the same
error as a given resource, even if this later one has been deleted.
(eg: looking for duplicate application problem after an application
has been removed).
When a JAX-RS Element is removed, its associated JAX-RS Markers are
removed from the index *during the validation phase* (the markers
still exist and are still indexed until the validation is performed).
Added some JUnit tests to verify the good behaviour againts the case
where a project has 2 JAX-RS application then one is removed.
JBIDE-15304 - NullPointerExceptions in JAX-RS doesn't report what project is affected

Printing the current java element name and parent project in the existing call to the logger
if the element is known.
JBIDE-15508 - Incorrect problem marker when refactoring a custom Qualifier

Initial problem was that *any* annotation would be taken as a JAX-RS HTTP Method,
which was über wrong.
Added tests cases to verify.
DE-15542 For JBIDE 4.1.1.Alpha2: Code Freeze + Branch [Webservices]

switch to 4.1.1.Alpha2-SNAPSHOT parent/pom.xml
JBIDE-15505 - Exception in JAXRS at startup

Added a check for null metamodel before calling the JaxrsMetamodel#removeListener() method
JBIDE-15599 - Changes on a subresource locator fields are not propagated to the JAX-RS Explorer

Registered the URI Mappings Content Provider (in the UI) when the JAX-RS Web Services node is
expanded. This avoids the case where in some circumstances, the JAX-RS metamodel would have no
listener to notify when JAX-RS endpoints changed.

Also edited the log messages for sake of readability
JBIDE-15428 - No JAX-RS problems when importing a project that contains HTTPMethod annotation without @Target and @Retention

Skipping the Java ElementChangeEvents when the Java Project is not open yet. This avoids race conditions during import.
Bonus: import seem to be twice as fast as before ;-)

Other changes:
- Move the call the JaxrsMetamodel#setBuildStatus() to finally{} blocks of JaxrsMetamodel#processXXX() methods
- Adjusted some javadoc, log messages and catch() blocks (avoiding to catch Exception or Throwable)
- Added a ReadWriteLock on all public methods of the JaxrsMetamodel to avoid concurrent access to the metamodel by different threads, for example if an async build
is still running and the validation is started. This avoids the following type of error:

{code}
!ENTRY org.jboss.tools.common 4 0 2013-10-09 18:17:54.307
!MESSAGE
!STACK 0
org.jboss.tools.common.validation.JBTValidationException
	at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:101)
	at org.eclipse.wst.validation.internal.operations.ValidatorJob.run(ValidatorJob.java:78)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
	at java.util.HashMap$ValueIterator.next(HashMap.java:822)
	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validateAll(JaxrsMetamodelValidator.java:268)
	at org.jboss.tools.ws.jaxrs.core.internal.metamodel.validation.JaxrsMetamodelValidator.validate(JaxrsMetamodelValidator.java:153)
	at org.jboss.tools.common.validation.ValidatorManager.validate(ValidatorManager.java:117)
	at org.jboss.tools.common.validation.ValidatorManager.validateInJob(ValidatorManager.java:81)
	... 2 more
{code}

- added some tests to increase code coverage
JBIDE-15699 - For JBIDE 4.1.1.Beta1: Code Freeze + Branch [Webservices]

Bumping parent pom to 4.1.1.Beta1-SNAPSHOT, which also resolves a
problem of missing dependency on org.jboss.tool.tests