Refs #66, adds database transactions to models.

Subclasses PDO object as NestedPDO, so functions don't have to worry about calling other functions
that use database transactions. Adds transactions to functions in models that require that multiple SQL queries succeed in a row. This way, nothing is ever half updated. It will be rolled back.