Integrated contributions by Tze-John Tang:

1. Oracle support:

1a. DatabaseImpl.java - Added support for a 'db.url' property, which if supplied would be used instead of building up the connection URL from the host/port/instance name. This was done because Oracle JDBS urls look like jdbs:oracle:thin:@<server>:<port>:<instance>, which is different than the current Postgres and Mysql connection URLs.

1b. UtilImpl.java - Added oracle driver case to the findDatabaseType method. Added the sqlDataType named 'number' to map to XSDdouble.

2. Sql Query parsing

2a. SelectQuery.java - Added splitFields method to split fields on commas, but preserve function calls that contain nested commas by counting left and right parentheses, and only splitting on commas that do not fall withing left and right parentheses. Also changed the field name trimming to use the common lang strip() method, which strips tabs as well.

2b. Generator.java - Added conditional prepending of the 'WHERE' keyword depending if it was already in the statement. This is making the assumption that there is only a single 'WHERE' clause in the statement, and will not support nested 'WHERE' clauses.