Make sure haste-boot removes its boot file before doing anything else.

Otherwise, we may end up with broken half-booted installations with a working
boot file which would be bad.
Add ability to produce HTML skeleton with JS dump instead of just JS dump.
haste-boot shouldn't fail if the boot file is missing.
Explicitly select topdown solver for cabal when haste-booting. Fixes #169.
Add version constraint for shellmate to cabal file.
Add test case for #172.
Remove unsafe thunk optimization; fixes #172, #123.
showPpr doesn't care about dynflags with GHC 7.4. Fixes #176.