Bug 1004977 - Datasource configuration changes SHOULD NOT require a complete reload/restart of EAP

"Enabled" attribute is no longer an editable configuration property (it will still be available on (xa-)datasource creation).
Instead, users will have to use the "Enable"/"Disable" operations.

"Disable" operation definition has been changed to include a new "allow-resource-service-restart" property, defaulting to false.
If set to true, the corresponding management request header will be added. This allows to disable a datasource without a full server reload.

The datasource component update configuration logic has been enhanced to send only configuration changes. It requires an extra request
to read the current datasource config, but it avoids a server reload or datasource disable/enable cycle if the user only wants to
change a set of properties which do not require it.

Also:

1. A new specific component class has been added for the datasources subsystem resource type. It used to be shared with the (xa-)datasource component.
While in the beginning it probably was easier to have a single class for code sharing between the "Create Child Resource" process and the
"Update Configuration Process", the (xa-)datasource component logic has become quite complex so it's safer to have separate component classes.

2. The plugin descriptor has been updated to document that some (xa-)datasource properties cannot be unset if they already have a value.

3. Perf: avoid compiling regular expression patterns over and over in AS7 plugin hotspots

4. Code cleanup, like avoid string concat when working with a stringBuilder (it creates a useless additional builder)

(cherry picked from commit bd8402ecec746fdd600e58daa1952e448ebffd52)
Signed-off-by: Libor Zoubek <lzoubek@redhat.com>

Conflicts:
	modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DatasourceComponent.java