Fix sequential composition bug in LocalCompiler

The compiler had a serious bug with respect to sequential composition
and choice. It was always combining groups with group_crossproduct, which
is fine when you have trivial groups of the form [s1] but incorrect when
you have non-trivial groups -- i.e., due to the use of non-deterministic
choice.

This could be seen by (p + q); id <> p + q.

The solution is to combine within a group using group_crossproduct, and
across groups using group_union.

I also removed an confusing optimization where the accumulator was
threaded through in favor of simpler code that explicitly merges the
Atom.Map.t at each step of the algorithm.
pedantic test renaming
Merge pull request #132 from frenetic-lang/seq-choice-bugfix

Seq choice bugfix