Merge pull request #16 from eaburns/re1

Avoid some redundant states in automata construction.
Kleene star: skip over an extra ε-transition-only state if not matching.
Initialize subexpression matches when re-using the start state.

The expression matches are copied to subsequent states, so they don't need to be initialized, just the first.