Improve RuleDSL scaladocs, add `test`, `nTimes` and `EMPTY` to RuleDSL
Simplify `Ops.apply` function arg type capturing
Extend `~>` with support for "flatMapping" rules