Gutterball hibernate

This branch removes mongodb from gutterball and instead uses hibernate. Liquibase support has been added to create the DB schema.

Reviewers:  Please take your time with this review. We need to make sure that the model is solid. Keep an eye out for any bits of data that we may want to store but has been left out. I've tried to verify along the way, but feedback was limited.

> Am I correct that a given consumer will only ever have one of these state objects, no matter how many snapshots we get for them?

Correct. This is how GB tracks unchanging state for a consumer.