BZ 991153 - Agent uses incorrect synchronization for 'UUID to ResourceContainer map'

When copying a 'synchronized' map, you must lock it to copy it.
But this was not done. It makes sense, instead, to use a ConcurrentHashMap,
especially because the copy was only done for iteration purposes.

Also, use a copy on write array for listeners
More dbsetup/upgrade fixes related to PropertyOptionSources.
[BZ 958166] Remove dependency on com.sun class

We no longer are performing the JMX calls to C* from the RHQ server but we
still are making JMX calls from the Storage installer. As long as the sun.jdk
module exports,

<path name="com/sun/jndi/url/rmi"/>

We do not need to have the dependency on the com.sun classes. And our build
updates the sun.jdk module to export that path.
updating api checks
Fix for when no dashboards exist (A Dashboard doesnt exist until you go to the Dashboards screen) Metrics dashboard selection combobox bombs.
adding status property to StorageNode
BZ  966294 Add one more default when the user just accepts the default in the UI.
Adding new component for editing the storage cluster configuration (stored in the system settings).
Fix refresh to keep graph open after auto-refresh.
adding plugin support for decommissioning and uninstalling a storage node
Implement storage node uninstall as resource operation

The uninstall task invovles purging the storage node bits from disk and
removing it from inventory. I previously implemented this by implementing
the DeleteResourceFacet. This was problematic though because the server side
logic for the deploy/undeploy work flows are centered around resource
operations.
initial support for undeploying a storage node

Undeploying a storage node involves,

* removing the node from the cluster
* updating existing nodes cassandra.yaml to no longer reference the node
* updating the internode auth conf file for existing nodes
* shutting down the node and purging its files from disk
* removing the node's resource from inventory
* deleting the StorageNode entity

There is stil a good bit of work left to do to handle various cases like going
back to 1 node and kicking off the undeployment in all the various states.
add support for resuming a failed undeployment
add a check to see if the node is already decommissioned

If has C* has already been decommissioned, i.e., its operation mode is
DECOMMISSIONED, then trying the decommission operation again will result in C*
throwing an exception which we could interpret as a failed operation. This
makes the resource operation idempotent.
add support for undeploying a node that is in a failed deployment state
update status property for undeployment operation modes
[BZ 993513] Baselines entries are no longer calculated and inserted into the SQL database if there is no data in the storage.

The sql query that returns the schedules that need recomputation has been updated to return only the ids of the schedules, reducing the amount of data requested from SQL to the minimum.
Fixing/handling errors in UI when storage node has no associated resource id (this can happen when installing everything with "rhqctl install --agent-auto-start false").
[BZ 986491] - Yum content source plugin now handles HTTP basic auth

It also should be able to handle HTTPS and other URL schemes if support for
them is available in the RHQ server's JVM.
Adding the support for storage node (un)deployment in coregui.