Implement choose_any aggregation function

For #2020. This is my first time contributing to presto so let me know if I should change anything. I used the max_by function as a template for some of the code.
I think there's a bug here. The input() function handles the case where state.getValue().isNull(0), but combine() and output() don't. I would fix that by changing the input parameter to be INPUT_CHANNEL instead of NULLABLE_INPUT_CHANNEL, that way you won't see nulls in your input() function. Then you can just remove the isNull(0) check from input()