Fixed: orphan one-to-many associations are being recreated when a Listing is updated.
A lot of cleanup of ServiceItem (Listing) code
using hibernates natural-id mapping for intents

Discovered that grails exposes the hibernate natural-id mapping
configuration - yet doesn't document it. As this provides exactly the
functionality I was looking for, have now implemented this for intents
instead of the weird hashing mechanism I used earlier.
Merge branch 'demo-master' into profile-cleanup

Conflicts:
	src/groovy/marketplace/rest/ServiceItemRestService.groovy