Fixes a bug with .destroy() on a DAO record

This only affected Postgres really, but when you did .find(), etc. and then
.destroy() on the actual DAO rather than the DAOFactory, sometimes the
QueryGenerator.deleteQuery() would have trouble finding the primary keys for
that table. This provides additional info to Postgres' deleteQuery() function
just in case.

This commit adds a fourth argument to Postgres' QueryGenerator.deleteQuery() for
declaring a DAOFactory.