auto: expose module internals
auto: rework continuation data type, actually works

A few things. First, the previous represntation of continuations
suffered the limitation that it was impossible to combine a
Seq(NL, TP). This commit fixes this issue by having NL take an optional,
`link_provider`, which coincidentally is the same type that the TP
constructor raps. Raps.

Because of this change, regex_of_policy is now complete, with the
exception of choice, which we're saving for later.

Second, the initial constructors for TP and NL functions were incorrect.
They would drop previously accumulated values.