[1079027] Storage Node (un)deployment can cause deadlock in rhq_storage_node table
Initial commit that attempts to remove umbrella transactions starting at
many entry points, such that scheduling operations happens in their own
trans context.  Needs review and testing...

Conflicts:
	modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/StorageNodeManagerBean.java

Cherry-Pick master 4921949e2e203015cf09f699b5d7a1352daab3a0
Transaction delimiters have been updatedin StorageNode beans to try and prevent
db-locking issues.  This caused a problem for storage node deployment
during mergeInventory, because it relied on an umbrella transaction providing
a persisted (but not yet committed) Resource.

Added a general mechanism for performing post-commit actions on newly
merged resources and leveraged it to perform linking a StorageNode to a
Resource.

Conflicts:
	modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/discovery/DiscoveryBossBean.java

Cherry-Pick master b6e70d104756db633df7b4ff642c29e3fad81d2b
Make sure StorageNode is committed before we try and deploy it.
More changes to LinkStorageNode to try and get the transactioning right.

Cherry-Pick master b8523c3bc2bc09eb7a9ce09005ded4a4a9cd364a
[1079027] Storage Node (un)deployment can cause deadlock in rhq_storage_node table
Fix issue with new transactioning that left some entity changes uncommitted.

Cherry-Pick master 919604ca697644ecf9fc8109395ecac9d21d781c