Add tests for Kleene star.

Two things: test ** and test empty matches at the start of strings.

This surprised me, but perhaps it shouldn't have.
The expression a* matches the empty string at the beginning of "xyzaaa."
I expected it to match the a's.
However, that's not how Acme behaves.
In retrospect, it's better that it matches the empty,
otherwise the behavior is inconsistent
(why doesn't * return its earliest match?)
and it would be difficult to describe.
Omit needless nodes. Omit needless nodes. Omit needless nodes.

But not as good as I was hoping:
benchmark                         old ns/op     new ns/op     delta
BenchmarkRegexpMatchEasy0x32      1203          1214          +0.91%
BenchmarkRegexpMatchEasy0x1K      32900         32534         -1.11%
BenchmarkRegexpMatchEasy1x32      1198          1203          +0.42%
BenchmarkRegexpMatchEasy1x1K      33711         32699         -3.00%
BenchmarkRegexpMatchMediumx32     241           244           +1.24%
BenchmarkRegexpMatchMediumx1K     42668         40159         -5.88%
BenchmarkRegexpMatchHardx32       117365        102727        -12.47%
BenchmarkRegexpMatchHardx1K       5673346       4766294       -15.99%

benchmark                         old MB/s     new MB/s     speedup
BenchmarkRegexpMatchEasy0x32      26.60        26.35        0.99x
BenchmarkRegexpMatchEasy0x1K      31.12        31.47        1.01x
BenchmarkRegexpMatchEasy1x32      26.70        26.59        1.00x
BenchmarkRegexpMatchEasy1x1K      30.38        31.32        1.03x
BenchmarkRegexpMatchMediumx32     4.13         4.09         0.99x
BenchmarkRegexpMatchMediumx1K     24.00        25.50        1.06x
BenchmarkRegexpMatchHardx32       0.27         0.31         1.15x
BenchmarkRegexpMatchHardx1K       0.18         0.21         1.17x
Merge pull request #16 from eaburns/re1

Avoid some redundant states in automata construction.