Generate URL "slug" from phrase

* Added a new method - generateURLSlug - in EntityDTO
for generating a URL slug from a phrase.  The phrase is
normalized and any whitespace characters are replaced
with hyphens ("-")
Bulk entity insert

* Added a createAll method for "bulk insert" operations.
There is no bulk insert in vanilla JPA so the entities so we persist
the entities inside a loop. The createAll() method should be invoked
in a @Transactional context

* Removed AbstractServiceImpl. Unnecessary.
Refactoring

* Added a findByHash() method in the tag, place, link and media
DAOs. This method takes a list of hash values as a parameter
and uses them to return the entities with those values in their "hash"
column

* Moved the URL slug and MD5 hash generation from EntityDTO
to SwiftRiverUtils

* Removed @Transactional annotations from the DAO classes. These
should be in the service classes

* Added two new entities; RiverCollaborator and BucketCollaborator
to represent the river_ and bucket_ collaborators tables respectively. These
tables have additional columns thereby necessitating this