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

Automatically remove rules which are 'shadowed', i.e. a pattern p shadows a pattern q if p occurs before q in the flow table, for every field f for which both p(f) and q(f) are defined, p(f)=q(f) and p is a superset of q.

This resolves issue #280 . 

Further optimizations coming very soon.