Support bzip2 and lzma/xz compressed man pages

Add support for bzip2 and lzma/xz compressed man pages.  Support for bzip2 is
part of the Python standard library (at least for 2.7 and >=3.2), while lzma/xz
is only in Python >=3.3; however, there is a backports module for Python 2.7 and
3.2.
Change an "if" to more appropriate "elif"

I overlooked an "if" that should have been an "elif". Oops.
Only try "lzma" module on ImportError
Skip lzma/xz manpages if lzma module not available

Skip man pages compressed with lzma/xz if the lzma module is not available; also
print a corresponding diagnostic message.
Only print an error when an lzma/xz manpage occurs

Only print an error when an lzma/xz compressed man page occurs. Also, use
add_diagnostic instead of print.
Change the way xz/lzma man pages are detected

This avoids the use of the global and puts the diagnostic message in a
self-contained location.
Document the optional dependency to backports.lzma.
Remove useless duplicate comparisons.
Remove unused values in builtin_set.
Merge pull request #1015 from marcecj/add_bz2_lzma_xz_support

Support bzip2 and lzma/xz compressed man pages
Fix two memory leaks.
git_prompt: optionally show upstream branch name

Adds a "name" option to __fish_git_prompt_showupstream that shows an
abbreviated branch name when the upstream type is verbose.

Based on git.git 1f6806c: git-prompt.sh: optionally show upstream
branch name
git_prompt: Add upstream_prefix when verbose

git.git's git-prompt may not contain a configurable prefix, but it
does display a space before the upstream information when displaying
verbose information.  Rather than using a space always or never,
default to a space whenever verbose is in showupstream.
git_prompt: Allow all set_color arguments

There is no need to explicitly check for two arguments and set --bold.
Instead the user can simply "set __fish_git_prompt_color_flags --bold
red".

The current check violates the expectation set by the documentation
that you can use any set_color argument as the current code interprets
"--bold red" as "--bold --bold" instead.

Plus, by passing the full contents of the variable directly, the user
can do more adventurous things like set the background as well.
Disallow package names with dots.

They cannot be used as arguments (Perl thinks it's version check, but
version checks are pointless for oneliners), and Debian puts path
containing version depending directories (like 5.14.2) in Perl path.
Fix for errant SIGHUPs due to child fish shells messing with the term.
Fixes https://github.com/fish-shell/fish-shell/issues/1002
Clean up interactive session test
Fix formatting
Merge branch 'master' into ast

Conflicts:
	complete.cpp