Return a single object for single-col enumerator

Optiq expects that an enumerator of a single column returns the single value of that column, and not an array with length 1. This causes a problem when a single column is selected using the "smart" version of the optiq-csv driver, as it always returns an array of values, even if only one has been requested.

This PR changes the CsvEnumerator to be generically typed as Object instead of Object[], and return a single object when only a single column is being read (instead of an array).

The issue is demonstrated in CsvTest#testSelectSingleProject.