DSL additions

Sending the pull request now before things get any bigger.

I'm pretty happy with the clarity of the two rules I've covered in the DSL. I think the only other word needed in the DSL is `can_match`, but there's going to be a lot of complexity to capture all the logic involved in the doublet onset and /s/ cluster onset rules.