[SPARK-1368] Optimized HiveTableScan
Using ColumnProjectionUtils to optimise RCFile and ORC column pruning
Added SortedOperation pattern to match *some* definitely sorted operations and avoid some sorting cost in HiveComparisonTest.
More HiveTableScan optimisations:

- Using mutable pairs
- Avoiding pattern matching (Array.unapply function calls)
Distinguishes sorted and possibly not sorted operations more accurately in HiveComparisonTest