Simple performance optimizations for resultset

Running a simple performance benchmark using GeoTools agains the Xerial and SqliteJdbcNG I've noticed that the latter is twice as slow when reading out of a spatialite database, around 4 seconds vs 8 seconds.
Using a profile I've noticed a couple of obvious optimizations, avoiding to read all the resultset metadata just to figure out the index of a named column, and avoid calling over and over the db to discover the data type of a column. This brings the execution time for sqliteJDBCNG down to 6.5s