katnetic: Change controller start API

The Controller's start function now takes a function of two arguments: a
policy, and a switch, and should return the local policy for that
switch.
katnetic: refactor dump into similar form as run
katnetic: make automaton runnable

Katnetic now has three different options for compiling local policies:

  * local     - assumes a local (link-free) policy as input;
  * classic   - uses the recursive dehopification algorithm; and
  * automaton - uses the automaton-based global dehopificaiton
                algorithm.
Simple fix.
(cherry picked from commit e33d7359ba80ee65d957c78758fd03ae08e41983)
katnetic: implement dump for local policies.

At the moment there's no way of knowing which switches a local policy
may refer to, so just iterate over the first 40 switch ids and print the
tables.

In the near future, this code should find all the switches the policy
checks for, and only dump those flow tables.
Merge branch 'katnetic-frontend' of github.com:frenetic-lang/frenetic

Conflicts:
	lib/PolicyGenerator.ml