WIP: Refactor database methods into server

## Overview

This pull request consolidates the `Database` API into `Server`. This simplifies a lot of the code flow -- especially the messaging.

I also consolidated `ClusterAdmin` and `DBUser` together. The matchers have been removed for now and I'll add per-DB permissions back in when we do authentication on the `Handler`.
I used named parameters because the `mustUpdate()` returns an error and then more happens before the end. I suppose I could have just declared it there though. So in this particular case the named error isn't necessary.