Fluent API based on SQLite syntax diagrams
Adjust fluent API to allow specifying query part in arbitrary order
Add class implementing the builder API without build() function
Remove API test method
build() method implementation
Add few tests
Allow specifying the source of the column by overriding columns with aliased columns
Treat null projection as selecting all columns
Treat no projection as full projection
Gracefully handle null selection
Add test for null order by clause
Compilation warning fix
Fluent API for SQLite INSERT statement
Fluent API for SQLite DELETE statement
Do not use execSQL(String, Object[]) for INSERTS

Documentation explicitly says this method not supposed to be used
that way. To simplify the implementation we forbid using SELECT
statement with bound args. If needed, it should be possible to
implement it with SQLiteStatement and manually binding args.
Revert "Allow specifying the source of the column by overriding columns with aliased columns"

After some thought it was probably not the brightest idea, because it breaks
perfectly valid SQL queries, like SELECTing the same column twice. The projection
mapping issue should be solved in a better way.

This reverts commit ec2f0d62ae6a825d8e30efd15b170fa7156756d7.

Conflicts:
	library/src/main/java/com/getbase/android/db/query/Query.java
	library/src/test/java/com/getbase/android/db/query/QueryTest.java
Refactoring: create a separate class for Insert with selects
Fluent API for SQLite UPDATE statement
Fluent API for creating and dropping SQL views
Fluent API polishing