Add QuickCheck test for Kleene idempotence axiom and implement function
for generating arbitrary TCP packets.
Implement QuickCheck tests for remaining Kleene algebra axioms.
Fix bug in Semantics.eval, make QuickCheck less verbose

* The case for start in Semantics.eval was wrong: we were not
  correctly unioning the accumulator

* The NetKAT_Tests QuickCheck tests were using the QuickCheck.verbose
  configuration, which was printing a lot of extra output to the
  console. Changed these to QuickCheck.quick instead.

* Some minor tidying...
Factor common code out of Kleene axiom tests.
Remove unnecessary resize calls, turn off verbose mode.
Update NetKAT_Arbitrary for new packet header types.
Add local compiler QuickCheck Kleene axiom tests.
textutils: Use latest logging API
(cherry picked from commit bf7911152cef8686b4e7539097ea55055ce6e171)
Write compare_compiler_output in terms of compare_eval_output.
Merge pull request #270 from frenetic-lang/kleene-axioms

Kleene axioms