Record mapper factory

In order to provide convenient relation getters like job.getProject() (not just job.getProjectId()) the record objects needs a handle on the Database DAO. Thus we introduce a custom resultset mapper to inject it.

We configure the mapper globally in the Database class so we don't need RegisterMapperFactory annotations all over the place.

Finally we switched to using JPA annotations for binding and mapping instead of JDBI's very general bean mapper. We had to modify jdbi-annotations to support the JPA MappedSuperclass annotation. That change has been submitted upstream as https://github.com/shakiba/jdbi-annotation/pull/1. For now we're using a forked jdbi-annotation jar.