Remove `cabal freeze' file

This gives a set of hard constraints for building the library, it's appropriate
for applications but really not for libraries.
Golden tests

Rather than just eyeballing debug output, keep track of old output and check
against the current tests.  The tests right now don't pass because of a
regression in 6fda83c2bb3c73d6d00d02ac2770459737b2c6d7.
Fix a regression in 6fda83c2bb3c73d6d00d02ac2770459737b2c6d7
Log the start of the computation
Use a simple abstract type rather than a tricky rank n type

The forall seems to require the scary ImpredicativeTypes extension as soon as
you try passing (forall s. xxx) values around, by getting rid of that and just
using a normal abstract newtype everything works as usual.
Use a composable fold for logging