Fix for several LocalCompiler bugs

The LocalCompiler had bugs in its shadows and obscures logic (see #341). This pull request replaces the `Table` module with a new version that replaces them with simpler algorithms and fixes the bugs.
Yes, but leave them in? The "### ... ###" debugs are useful to turn on and
I'm too lazy to Log.whatever...

-N

On Mon, Sep 15, 2014 at 4:55 PM, Mark Reitblatt <notifications@github.com>
wrote:

> In lib/NetKAT_LocalCompiler.ml:
>
> >                Action.mk_ipDst (n,m)
> >              | NetKAT_Types.TCPSrcPort n ->
> >                Action.mk_tcpSrcPort n
> >              | NetKAT_Types.TCPDstPort n ->
> >                Action.mk_tcpDstPort n in
> >            let s = Action.Set.singleton a in
> > -          let m = Pattern.Map.singleton Pattern.any s in
> > +          let m = Pattern.Map.singleton Pattern.top s in
> > +          (* Printf.printf "### MOD (%s) ###\n%s\n" (NetKAT_Pretty.string_of_policy pol) (to_string m);           *)
>
> Left over debug code?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/frenetic-lang/frenetic/pull/347/files#r17568032>.
>