Quickchecking and bug-finding in the NetKAT compiler

- See line 150 of NetKAT_Test:

      compile Src -> A ; (filter Src = C + Dst -> C)
      produced filter !Src = C ; (Src -> A ; Dst -> C),
      expected Src -> A ; Src -> C

  This is obviously wrong

- Quickchecking easily produces policies that blow the stack

- Unit tests now use the TestHeaders (Src/Dst A/B/C/D) instead of
  full-blown OpenFlow headers for readability.