Build into a cabal sandbox.

I changed the makefile to set up a cabal sandbox and compile into it; that way it doesn't try to mess with your global .cabal setup by default. It should be safe to `make` a clean checkout now.