Added support for multiple rules with the same name

This effectively implements an 'or' condition for rules.  But there is a requirement that
the rules have the same cardinality.  I added a few test cases for this.  It would be good
to have a few more (like ones that test errors in the grammar from having conflicting
cardinalities).  But this is what I have for now.

This closes #5.