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
Properly copy the options objects passed to find and findall
Move optClone call to a proper place
make all lowercase to avoid problems with PG
Merge pull request #884 from janmeier/master

Properly copy the options objects passed to find and findall
Merge remote-tracking branch 'upstream/master'
fix searching for rows where attribute is in array of values, test