Local compiler bugfixes and front-end improvements

* Fixed several bugs in `LocalCompiler`

  - `bin_local` now keeps the three disjoint sub-policies (`p_inter_q`,
    `p_only`, and `q_only`) completely separate

  - `group_to_string` and `to_netkat` was backwards for groups

  - removed `op` for `extend`, which is no longer needed

* Fixed one of the unit tests in light of these changes

* Front-end improvements to run examples. For example:

     [nate@northstar ~/shared/frenetic> ./katnetic.byte dump examples/choice_loops.kat
     filter switch = 1 and port = 1;
     (filter vlanId = 6; (id; vlanId := 17) |
      filter vlanId = 7; (id; (vlanId := 11 + vlanId := 12)) |
      filter vlanId = 9; (id; (vlanId := 11 + vlanId := 12))) |
     drop
     [{pattern={InPort=1,Vlan=6,action=SetField(Vlan,17); OutputPort(1),
           cookie=0,idle_timeout=Permanent,hard_timeout=Permanent}
          {pattern={InPort=1,Vlan=7,
          action=(SetField(Vlan,11); OutputPort(1)) +
                 SetField(Vlan,12); OutputPort(1),
          cookie=0,idle_timeout=Permanent,hard_timeout=Permanent}
          {pattern={InPort=1,Vlan=9,
          action=(SetField(Vlan,11); OutputPort(1)) +
                 SetField(Vlan,12); OutputPort(1),
          cookie=0,idle_timeout=Permanent,hard_timeout=Permanent} ]