SPARK-3968 Use parquet-mr filter2 api in spark sql

The parquet-mr project has introduced a new filter api  (https://github.com/apache/incubator-parquet-mr/pull/4), along with several fixes . It can also eliminate entire RowGroups depending on certain statistics like min/max
We can leverage that to further improve performance of queries with filters.
Also filter2 api introduces ability to create custom filters. We can create a custom filter for the optimized In clause (InSet) , so that elimination happens in the ParquetRecordReader itself 
yes , in parquet , clientsidemetadata strategy is the default one, but as I mentioned earlier, don't we want task side strategy by default due to the inherent advantages of less memory usage at client side ?