Myrial UDAs

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

Should we pass `None` instead of `scheme`?