Replaced booleans and nil with symbols for rule results.

The only loss in this change is a lot of nil short circuiting, but that's probably actually a good thing.
Added RuleResult to be able to rank results.

The eliminates the need to pull base rules out of iterations. It also handles the conflict between the doublet onset rule and the s onset rule. Now both rules are checked and the better result is taken. However, I'm not sure if the 'better' result will be the same for future conflicting rules.
Merge pull request #22 from gwagener/priority_rule_results

Priority rule results