[BZ1119652]  Webappp configuration - Config File field is mandatory.
Bug 1122047 - If 'Accept' header field is not explicitly specified, server
responds with empty body upon REST query metric/data/{scheduleId}/raw

in case accept header does not specify media type, we fallback to JSON.
Merge pull request #93 from jfclere/master

[BZ1119652]  Webappp configuration - Config File field is mandatory.
[1118394] deployment of new war from repo content fails
This is not a fix for the reported issue, which actually seems to not be a
bug.  This is a fix to ensure failed package installs persist the error
messageto the history record in the DB. And to provide a more useful
log message in the agent log.
[801432, 807465] Related Issue to these BZs
Uninventory triggered our "assert-style" debug logging indicating that we
were working with HashSet for child resources when we expected to be using
a safer Set impl (wrt preventing ConcurrentModoficationException). There
were a few issues in play:
- When loading persisted resources from disk convert childResources to
  CopyOnWriteArraySet if necessary.  This repairs resources persisted with
  the wrong Set impl.
- Eliminate some potential concurrent modification danger (or, at a minimum,
- Fix a couple of other places where we weren't using CopyOnWriteArraySet
- Fix Resource entity to ensure that when customChildResourcesCollection=true
  that the childResources Set is truly protected. It was here that we were
  losing the proper Set impl.
  some unnecessary work) by only calling deactivateResource() on the root
  resource. It recursively deactivates the subtree, so no need to then call
  it on every node in the subtree.
- Fix our "assert-logging" conditional, which despite finding this issue was
  actually looking for the wrong set impl. It had not been updated when we
  moved to CopyOnWriteArraySet.
StorageNodeComponentItest - output more details when assertion fails