[WFCORE-213] :  Clean unreferenced items from the content repository

We are using ContentReference to track contents in the content repository.
Se are tracking references to overlays.
Trying to use server group definition for domain mode.
Simplifying ContentReference
WFCORE-211: Fixing overzealous cleaning of HC content.
WFCORE-178: ContentRepositoryImpl should not call File.deleteOnExit

Jira: https://issues.jboss.org/browse/WFCORE-213
and https://issues.jboss.org/browse/WFCORE-211
and https://issues.jboss.org/browse/WFCORE-178
This is vulnerable to races. Content can be added to the repo in a separate op from the op that references it. The web console does this for every deployment, because it can't attach the content to the request the way a JBoss Remoting based client like the CLI can. It POSTs the content to the server in one HTTP request and then sends a second request with the management op that references it. If the cleanup task ran in between those 2 steps, the 2nd step would fail.

I recommend you build a Map<ContentReference, Long> and instead of directly deleting unreferenced content here, add it to the map with the current timestamp. (Unless it is already there.) Remove anything from the map that's currently referenced. Then scan through the map and anything in it that is more than X mins old, remove it.

Things survive a bit longer that way but you don't have to worry about races.