Add convenience methods to Repository

By adding simple helpers that select_one/many, insert_one/many, and so
on, we not only help to streamline the most common use cases for
repositories, but illustrate how other methods might be constructed.

The biggest thing to consider is that if we are rescuing a subclass of
PG::Error (such as the ConstraintError in the default result processor),
we need to be sure that we have done so outside of a transaction or
savepoint, so that we can return false and still have a usable
transaction if we want.