dep_sort: disable fall through optimization

This seems to be producing bad results. One of the tests results was
checking for the wrong flowtable result. Once that was fixed, the test
started failing, but they pass when the fall through optimization is
disabled.
dep_sort: Add topological sort module
dep_sort: properly sort flows according to dependencies

The dependency relation among flows is a partial ordering. The code was
previously treating it as a total ordering, and was therefore producing
bogus results.
dep_sort: add all vertices to the topo graph
dep_sort: flip sign of compare
dep_sort: delay obscures calls
dep_sort: separate compare and dep_compare in functor

One is used for lookup tables, the other is used to determine the
partial order. dep_compare uses -1 for less than, 1 for greater than,
and 0 for incomparable.
Merge remote-tracking branch 'origin/dep_sort' into flowterp

Conflicts:
	_oasis
	lib/netkat.mllib
	setup.ml
flowterp: have check_compiler_output use flowterp

The tests involving check_compiler_output now check policy equivalence
in terms of their flowtables. This is exposing a bug in our obscures
code.