Refactor policy changes into two phases: compile and update

* compile simply generates the Local.i and Local.table for each switch
  from the policy

* update actually propagates the update into the network

For now, we use a naive update that simply blasts away the current
configuration of each switch, and beams down the new one. This
interface will support doing a diff, and the Reitblatt method, where
(importantly) we need the entire set of tables to do a two-phase
update.