cabal-install: Add command 'cabal user-config diff'.

This command prints out a psuedo-diff between the user's `~/.cabal/config` file and what cabal would generate if it did not exist.

Tested with ghc 7.8.3 and 7.4.2. I'm trying to write a unit-test for it, but that's a little 'deep'. Thought I'd get some feedback on this first.

May be better to put functions related to the `user-config` command into their own module (say, `D.Client.UserConfig`).