More diff friendly pretty printing of cabal files

My previous attempts couldn't really work out, because 'FieldDescr' is used for
several different things in 'Cabal' and 'cabal-install', even for some kind of options handling,
so trying to modify 'fieldGet' was a dead end.

I have now chosen a simpler implementation which does only something special for
the pretty printing of the fields of the cabal file.

It involves some hard coding of which fields should get nested, which isn't that nice,
but for now I couldn't come up with an other/easier solution.