Exclude joda-time from aws-java-sdk

Their POM uses a version range which drags in the wrong version.
Fix effective predicate extraction of UNION ALL
Support index joins probing with subsets of join keys

This allows us to push index join keys through query shapes that may not allow
all keys to pass through. For example,

  SELECT *
  FROM table1
  JOIN (
    SELECT c1, COUNT(*) AS c2
    FROM table2
    GROUP BY c1
  ) t2
  ON table1.c1 = t2.c1 AND table.c2 = t2.c2;

will be able to send a index join probe key through the aggregation with column 'c1'.
Other similarly supported shapes include joins and projections.

Conflicts:
	presto-main/src/main/java/com/facebook/presto/operator/index/IndexSnapshotBuilder.java
	presto-main/src/main/java/com/facebook/presto/sql/planner/LocalExecutionPlanner.java
	presto-main/src/main/java/com/facebook/presto/sql/planner/optimizations/IndexJoinOptimizer.java
Update IndexSnapshotBuilder to respect cpuTimerEnabled flag of parent context
Update UnloadedIndexKeyRecordSet usage of GroupByHash
Expose at_timezone hidden function

Conflicts:
	presto-main/src/main/java/com/facebook/presto/operator/scalar/DateTimeFunctions.java
	presto-parser/src/main/antlr3/com/facebook/presto/sql/parser/Statement.g
Update window function API to supply partitionStartPosition on reset

This reduces the amount of internal state that each window function needs to track and simplifies their logic
Add NULL values to window function unit tests

Conflicts:
	presto-main/src/test/java/com/facebook/presto/operator/window/TestWindowFunctions.java
Improve error message for window functions without an OVER clause