Add GetValue() fn for agg fns that can be run as analytic fns and alloc memory

The AnalyticEvalNode needs to re-use intermediate state tuples so it cannot
call Finalize() for agg fns that clean up intermediate state. Those fns
need to have a GetValue() method which just returns the result.

This adds a GetValue() method for avg() (all types) and min()/max() (only
needed for strings).

Change-Id: Iedd6b026a1a256d9577dbb4c37824ac9282319ca
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4199
Reviewed-by: Nong Li <nong@cloudera.com>
Tested-by: jenkins
(cherry picked from commit d3fe94e8dba1d7b3698db9849058dacf14657292)
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/4237
Reviewed-by: Matthew Jacobs <mj@cloudera.com>