Add agg fns for remaining analytic ranking fns

Adds agg fns for FIRST_VALUE, LAST_VALUE, LAG, LEAD. Also adds
support for ROWS windows with the end bound as unbounded following
as long as the start bound is unbounded preceding.

Change-Id: I4856ae580164d17a1bbf7d45010b61f5afa5db50
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4249
Reviewed-by: Matthew Jacobs <mj@cloudera.com>
Tested-by: jenkins
Switch to using FNV hash. Crc doesn't work with different seeds.

Change-Id: Id74d7e84bd82d5d882d07195b6292c1a1d352005
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4302
Reviewed-by: Skye Wanderman-Milne <skye@cloudera.com>
Tested-by: jenkins