Add some embellishments to the .cabal file.
Work on imperative intermediate representation for code generation.

Unfinished.
Activate futhark-mode for .fut-files.
Add nasty hoist-consumption test program.
An expression that consumes anything is not safe!
Simplify first-order transform slightly.

Specifically, this saves a let-binding and eliminates some duplicate
names.
Add some silly recursive function tests.
Add flymake files to gitignore.
More work on the imperative code generator.

It basically works now, although I still have to make ImpCode
extensible.
Futher work on backend code generation.

C backend can now again do clever things for reshape and split.

Next up: bringing the Bohrium backend back on-line.
Finish up the  new imperative backend changes.