Remove shadowed rules in flow tables at compilation.
Add optimization for rule fall-through.
Fix bug in fall through optimization.

Also refactor to_table to take an optional flag
to enable fall-through optimization.s
trans: update for api changes in ocaml-openflow

The Async_OpenFlow.Platform.Trans module is Async_OpenFlow.Stage.
(cherry picked from commit ebe1b690592cccc4f329bbaa38d8acf2f74f4d4a)
Merge pull request #284 from frenetic-lang/optimize-naive

Remove shadowed rules and simplify fall throughs in flow tables at compilation.