Support for user-defined aggregate functions

Patch by Robert Stupp; reviewed by Tyler Hobbs for CASSANDRA-8053