Fix off-by-one bug in JDBCJoiningFeatureReader

Prior to this commit, JDBCJoiningFeatureReader had an off-by-one bug its column cursor management for joins on DataStores with exposed primary keys. See [GEOS-5149](https://jira.codehaus.org/browse/GEOS-5149) for an example of the kind of behavior this bug was causing.

Also added logic to exercise primary key exposition in JDBCFeatureReaderTest, and extended JDBCFeatureReaderTest to exercise JDBCJoiningFeatureReader.