[1070326] Do not individually track applications with the same WEB Context
This is an initial commit for consideration.  It enhances discovery in the
as7 plugin such that Deployments automatically process versioned artifact
names.  For example, myapp-1.0.war results in a Deployment resource
of myapp.way with version 1.0.  A subsequent deployment of myapp-2.0.war
results in the existing myapp.war resource being upped to version 2.0.

This is applied to any Deployment based on the SubsystemDiscovery class.

Moreover, general support has been added such that when discovering a new
version of an existing resource, not only is the version updated, but the
resource's plugin configuration is updated with any properties set by the
discovery. In this way if the new version requires updated connection props
(like the EAP address path used to connect) it gets updated.  Since only
those props set by discovery are updated, any existing customizations will be
maintained in the existing configuration.
[1070326] RFE: Allow AS7 deployments to provide version in the artifact name
- Limit the special version-handling to only Deployments or those types that
  "run-inside" Deployments.
- Make the version Pattern configurable.
- Make the regex matching more efficient by using a single Matcher and
  resetting as necessary.
- fix up a mock
[545544] Trivial description fix
Merge branch 'master' into jshaughn/as7-deployment

Conflicts:
	modules/plugins/jboss-as/src/test/java/org/rhq/plugins/jbossas/test/JBossASPluginTest.java
[614599] add ability to filter by plugin name to AlertCriteria and MeasurementDefinitionCriteria
throwing a bone to an old RFE
BZ 1068816 - More remote methods for managing agent and server plugins, metrics

Exposing mostly methods already available as part of the Local interface.

Not sure if the List<Integer> methods should be exposed, as it is a hassle to use via JavaScript,
but it is possible to use these methods anyway.
BZ1094424 - do not reindex tables by default; don't use UNRECOVERABLE

ALTER INDEX {0} REBUILD UNRECOVERABLE

When being run on Oracle, this prevents inserts while the rebuild takes place,
which may be several minutes. This has caused agents to time out and false
alerts to be generated.

Unrecoverable is not a good idea as it locks the table during the calculation:
https://community.oracle.com/thread/1103546?tstart=0

The default should be false, as well UNRECOVERABLE is not a good idea either on
Oracle because of the locking.
[1070326] RFE: Allow AS7 deployments to provide version in the artifact name
Replace the previous approach with a different one.  The previous impl failed
to handle embedded, versioned deployments correctly (like Ear-v1.0 containing
War-2.0).  It also did not properly handle some of the more complicated
DMR addresses.  This new approach does not attempt to replace the existing
discovery, but rather post-processes what is discovered. This separation of
concern should be better and more flexible going forward.
- also updated the plugin descriptor to more fully capture the types that
can be umbrella'd under a Deployment.
make sure we drop the legacy metrics_index table during schema update

The metrics_index table wasn't getting dropped for new installs. Fixing this
created a problem in TopologyManager where it sets gc_grace_seconds for each of
the tables. This commit modifies the logic in TopologyManager as well so that
it no longer tries to update gc_grace_seconds for metrics_index and so that it
does set it for metrics_cache and metrics_cache_index.
[BZ 1104916] add logic for reducing cluster size from > 4 nodes

The case for the previous cluster size > 4 was missing which resulted in an
IllegalStateException, which in turns causes the undeploy process to fail.
refactoring cache index querying and making raw data age limit configurable

I have introduced paging when querying the index for the current time slice.
The query is against a single partition which can get large and cause read
timeouts. Paging should help guard against that.

I have also made the age limit for raw data that is ingested configurable.
This means for example, that the user can decide whether or not the server
should accept or reject measurement reports with data that is already 5 days
old.
[BZ 1104888] fix bucket aggregation code for calculating max
[BZ 1092756] fix calculation of aggregate metrics

The max value for aggregate metrics could get computed incorrectly as a result
of an if else statement that should have been an if statement. The error
manifests itself only for 6 and 24 hour data. It would occur only when the min
and the max fall on the same data point.
[BZ 1069545] Clip bad last character.
[BZ 1069648] Update JAVA_OPTS from connection settings for Standalone servers.
[BZ 1069648] The JAVA_OPTS are now added to the bottom of the file and is additive to existing settings. This is a safer approach.
[BZ 1069648] First level name refactoring due to logic changes.
[BZ 1069648] Additional name refactoring.
[BZ 1069648] Short class names and also update the logic in a few places.
[BZ 1069648] Small spelling fix.