database: add ability to describe tables and confirm requires columns

We want to be able to check whether the database schema looks right when
we connect rather than find out after a failed query.

Signed-off-by: Jeff Mahoney <jeffm@jeffreymahoney.com>