Fix bug: actually build Test.hs.

Forgot to update the module name in the Makefile.
Add a simple 'printf'-style call tracer.

Called 'trace', in reference to 'Debug.Trace'.  Can be thought
of as a very simple special case of the generalized logger 'log'.
Obviously, I need better names ...
Remove unused code.

The 'CollectAndCallCont' was replaced by currying and uncurrying.

And 'Collect' was already replaced by 'CollectAndCallCont'.
Fix warnings in 'Test.hs'.

Yay for 'printf' :P
Rename 'GetArg' and 'GetRet' to '*M'.

Going to add non-monadic 'Curry' ...
Add optimized-build make target.

When 'unsafePerformIO' hacks work with optimization
you know you're on the right track :D
Add 'Uncurry', a non-monadic version of 'UncurryM'.

Used in 'unsafeTrace' ...
Add 'unsafeTrace', a version of 'trace' for pure functions.

The pure function 'f' in 'unsafeTrace f' still needs to be open
recursive or mutual recursive, so that we can get inside the knot, but
by using 'unsafePerformIO' we can lift the need for a monad.

I don't completely understand why I need to force the return value in
'trace'; I don't need to in the "safe" version.
Add tests for 'unsafeTrace'.