Unified interface for where and dynamic_where.

Compatible with previous interface.
Both where and dynamic where can now take a variable amount of
arguments. where() requires at least one argument.
Streamlined usage of dynamic and non-dynamic method versions

from, where, having, group_py, order_by, using.

Prepared on() as well