DRILL-3773: Fix Mongo FieldSelection
Mongo plugin was previously rewriting a complex (multi-level) column reference as a simple selection of the top level field.
This changeset does not change this behavior in terms of the filter sent to mongo, but it add the original selected column to the list that will be read in by the JSON reader once that data is returned from mongo.
What this means is that we will be requesting more data from mongo that necessary (as we were previously), but this will be leveraging the existing functionality in the JSON reader to grab only the sub-selection actually requested in the query. This allows for difficult schema changes to be avoided by projecting only columns without schema changes.
This also fixes and adds unit tests for FieldSelection that cause wrong results when selecting a nested column and its parent.