add save method in Query class.
not to implement QueryInterface, since the returned values are different.
Dao/Query works fine as long as jumping back-and-force with another object like Where.
cleaned up warnings.
inherit Sql (not Query in SqlBuilder) because the interface is different (returns different value).
implement lots of code from the SqlQuery in SqlBuilder.
Also moved hooks from Query to Dao.
add test cases for SQL injection.
test case when empty iterator is returned.