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`.
If this fails, it seems we'll leak shards on disk. I guess it's very unlikely to fail, and the leaked resource would be very small. Just an observation, not sure if we need to fix this yet.