Fixes Postgres' ability to search within functions.

This is a pure and simple fix for searching with a Postgres' array column type.
This commit changes hashToWhereConditions by adding a second argument of sending
the factory's details over and checking for column type if the hash/value/first
argument is an array. For the actual search we just utilize a simple overlap &&
boolean search.
Merge pull request #879 from durango/anyarray

Fixes Postgres' ability to search within functions.
Updated changelog
Make the ordering / quoting API consitent
Moved querygenerator into the abstract folder
Fix dao-factory ordering to use the new order API
don't do "variable || true" to cast to bool
Correctly import abstract qg in sqlite qg
set validate option default to true for DAO-Factory.update
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.
Typo
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
test & fix for searching for rows using an array of primary keys