stability- and performace-related changes

This pull requests includes changes that vastly improve the stability of the controller, allowing it to survive switch disconnects and reconnects.

Depends on frenetic-lang/ocaml-openflow#139.