Use a Data Access Object for the gensendgo table

Operations on the gensendgo table naturally fall into a dao style of
access. Create a struct which wraps the DB instance and then pass this
dao into the Recall handler.

This nicely separates out the generic sqlite operations against the
table and business logic specific ones.

Missing semi