Included targets in cabal's bash-completion.

When commpleting for cabal build/repl/test/bench, this completes the possible
targets depending on their types.  This is a temporary workaround, the
definitive solution would be to include those targets in cabal itself, via
``--list-options''.
Merge branch 'master' of github.com:haskell/cabal
cabal's bash-cmpl: handling execs and improvements

Now handling executables:
	- completing run target
	- completing executables on build target

Improvements:
	- removed false positives on completion
Eliminate testList and pass args directly to the testHook
Prompt source directory in cabal init
Create source directroies with cabal init
Self-constraint not included in frozen constraints
Merge pull request #1990 from benarmston/freeze-doesnt-include-self

Self-constraint not included in frozen constraints
Merge pull request #1932 from rudymatela/master

Included targets in cabal's bash-completion.
Merge pull request #1982 from thomie/cleanup

Small cleanup
bootstrap.sh: make the 'tar' invocation more portable.

Fixes #1994 (hopefully).
Fix pretty printing with showFreeText

Remove the special casing for strings starting with a newline.
Handle all newlines in strings the same way, by replacing them
with a '.'.
Pretty print the field 'depends' nested
Fix pretty printing of flags

Pretty print the fields of flags nested.
Merge pull request #1998 from dan-t/master

Pretty print fixes
enable pkgconfig-depends for tests and benchmarks

implement a common BuildInfo processor for all package components

change names of component BuildInfo processors to be more descriptive
Merge pull request #1995 from mcox/pkgconfig-bugfix

enable pkgconfig-depends for tests and benchmarks
Better message when new cabal-install available

A common mistake new users of cabal-install seem to make is to run
`cabal update`, see the message "Note: there is a new version of
cabal-install available.", accordingly install a new version of
cabal-install by doing `cabal install cabal-install`, neglect to make
sure that the newly installed cabal-install executable is in their path,
and continue to run the cabal-install executable they had before.  The
next time they do `cabal update`, they see the same message and become
confused.

This commit changes the message in question to be more informative and
helpful.  In particular, if the currently running version of
cabal-install is older than the newest version available from hackage,
the user will not be told simply that "there is a new version of
cabal-install available", but rather will be informed exactly what new
versions are available, and what version they are currently running,
along with a hint to change their $PATH variable if it turns out they're
not running the version of cabal-install they thought they were.
Remove first-person and unix-specific language

In accordance with @23Skidoo's comments on github.
Merge pull request #2000 from kini/upgrade-available

Better message when new cabal-install available