[GEOT-4868] Fix off-by-one bug in JDBCJoiningFeatureReader

Context: we might have primary keys exposed both in the main table and in the join tables.
Issue: exposed primary keys are a bit messy because we need them anyways, but they might not have been requested so they might not be in the output feature type. 
Approach: make attribute descriptors as being part of the primary key, then figure out what offset we need depending on whether these columns are exposed as attribute, and whether they are requested in the query, or not