Build native binary.
(cherry picked from commit 162ec547297e8d57eec545bea0b416da7fc72a47)
switches: fix stack overflow in transformations

The transformations from a policy to a regex, as well as a link-free
policy to a policy, were not tail recursive and were therefore blowing
the stack on large in large inputs. This commit fixes that by CPS-ing
these functions, thus making them tail recursive.

Fixes #185
switches: elminiate redundant policy transformations

The code was distributing link-free policies across topology terms,
which meant that later on the copies of the link-free policies would
have to each copy would have to be transformed into a policy, thus
duplicating work. This commit transforms like-free polices into regular
policies before distributing across topology terms, thus elminating the
redundant work.