Myrial UDAs

This PR adds UDAs to Myrial.  JSON compilation is not implemented.  Also, there is no support for combine/merge.

Upon further reflection: the emit clause in a UDA aggregate is always simple: it's only allowed to reference the state variables (although we should test this case).

The state variable update functions can be non-simple, but I think this should be handled, assuming the implementation follows StatefulApply.