[BZ 1022943] Ability to trigger update of plugins on agents from UI and API
This is stage 1 of the series of commits to enable more user-friendly
handling of plugin updates.

It provides basic support for triggering updates of plugins on agents
by calling server-side APIs/GUI.
Merge remote-tracking branch 'origin/master' into bug/1022943

Conflicts:
	modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/TestAgentClient.java
	modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/agentclient/AgentClient.java
[BZ 1022943] Added ability to check status of plugin update on agents
Merge remote-tracking branch 'origin/master' into bug/1022943

This is to have the fix for BZ 1076389 (which blocks BZ 1022943) in this branch.
[BZ 1022943] Fixes to PluginCriteria
[BZ 1022943] Reporting changes of plugin deployments
note in the javadoc that the deploy* methods are synchronous.
[BZ 1022943] Added a new REST endpoint for working with agent plugins.
[BZ 1076104] Agent plugins don't require explicit purge to disappear
from DB.
[BZ 1076104] Server plugins don't require explicit purge do disappear.
Fixing API breakage
Cleanup of itests to not influence each other when setting server identity
and manipulating plugins.

Also fixed the PluginManagerBeanTest#isPluginReadyForPurge() by realizing
that other tests (that now correctly clean up after themselves) may have
already deleted the plugins that were marked to be deleted in the test
method the isPluginReadyForPurge depends on.
Removed unused method from local SLSB and some small docs updates.
[BZ 1072543] Unable to collect metrics from EAP 6 datasources when a system
properties is used in configuration

max-pool-size and min-pool-size metrics are now recoginzed by common code to
resolve a possible expression. BaseComponent.getValues has been changed in a
way, that we have more granular method called BaseComponent.getMetricValue
which handles single metric request. This method returns new enum called
ReadMetricResult which just represents a return code (if not Success, we may
want to know logical reason why metric was not collected)
[BZ 1080909] DynaGroup expression evaluator is not strict when grouping by
resource configuration property

Dynagroup expressions using  pluginConfiguration[prop] or
resourceConfiguratoin[prop] will now be matched 'strict' to property name.
Strict match in means resulting SQL would be 'simple.name = :argX' instead
of original 'simple.name LIKE :argX'.
[BZ 1080971] JON throws "java.lang.OutOfMemoryError" if drift file sets are
big

JPADriftServerBean#getDriftFileBits fixed  to return String representation
of bits directly from reading stream. Previous implementation first
allocated byte array from stream and then transformed it into string - this
caused content being twice in memory.
fix typo - this is a linux script, not windows... ext is "sh" not "bat"
fix typo - extension is "sh" not "bat"
don't always show this message, make it a debug message
opps, need to move the debug_msg function up top
api checks: adding (un)installAgent methods is intentional non-breaking change