Add ShrunkClient public API

ShrunkClient provides functions that interact with the underlying database. They
will be implemented in future commits.

The client should be flexible enough to allow the database to change without
affecting other parts of the code.