Merge pull request #13 from eaburns/re1

Add tests and make a minor bug fix.
Simplify the match condition.
Change the Match interface to take a Runes interface.

It's necessary because the Next match function will need to run the automata from each subsequent rune until it finds a match (this is what Acme, sam, and friends do). That requires the ability to read a bunch of runes, fail, go back and read more from the beginning again. RuneReader doesn't allow that because it consumes runes and you can't get them back. I was hoping that I could use some cool finite automata trickery to get past that. I can't. Nothing that I tried worked correctly.

Anyway, this isn't so terrible. It gets rid of the error return from match.
Match returns the next match, and wraps around at the end.