Consolidated rules

Renamed OptionRule to ChoiceRule
Added OptionalRule, MinMaxRule and UntilRule in preperation for EBNF
Added a new abstract super classes in inheritance structure of rules.
Renamed RuleList to ListRule to conform to current naming standards.
Consolidated packages
Renamed StringRule to TextRule, and had it accept CharSequence
Reformated the failed messages in the majority of Rules.
Refactored toString methods in the majority of Rules.