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.
Forgot to explicitly expect MySQL and SQLite queries for testing .destroy().
Merge pull request #881 from durango/destroyfix

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