Populate droplet image when getting a river's drops
Added missing account to BucketDTO
Improved get river drops test

* Ensure an empty list is returned when a river has no drops.
* Ensure get drops in general returns the expected fields.
Deleted DropDTO
createRiver Implemented

* Added a river_name_canonical column to ensure unique river names per
account.
* Account quota check and update performed with jpa optimistic locking.
ForbiddenException: Status should be 403 not 404
JpaAccountDaoTest: Test for find by non existent name/username

* Return should be null and not a persistence exception...
Flatten channel options

* Channel to channel option is not one to one.
* Instead of multiple channel options in a separate table, have a
parameters field in the channels table where multiple parameters can be
specified as a json object.
Fix failing JpaAccountDaoTest
createChannel implemented
deleteChannel implemented
Added generic dao for CRUD methods.

Common to most if not all DAOs.
Remove unused CollectionUtil
modifyChannel implemented
JacksonMapper: Ignore unknown properties
Added drop count to channels

* Added a link between a river drop and channels.
* Drop count also to be cached in the river_channels table.
Dozer: Ignore null properties for ModifyChannelDTO -> Channel mapping

* Otherwise null are deleted during update by being emptied.
updateRiver implemented

* Also changed River model properties to objects instead of primitive
types for boolean, int and long.
Error Handler

* Catch exceptions an return a json represenation as a response body
for errors.
Drops pagination

* Added page parameter for paginating drop results.
* Max drop id now returned as part of getRiver.