make the maude backend output more deterministic

@traiansf please review

The Maude backend had some issues that were making the output to maude JVM dependent. I added some code whose purpose is to ensure that the ordering and numbering of rules is the same accross different Java versions.
So basically that's why you made the rule above a transition, to detect all cycles?