Myrial UDAs

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

Can we somehow call this type of sub-expression something more meaningful? Like, `finalizer` or `emitter`?