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.
Fix one element tuple to be actually tuple.

While in this case it doesn't mean much (neither `z` or `-` would be
passed to options parser), it makes things possibly less buggy.
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.
Updated help text of fish_config command
Set of changes to improve detection of escape sequences for prompt width
computation. Addresses #767
Complete apt-get purge identical to apt-get remove

As apt-get purge really has the same operations as apt-get remove, there is not reason to handle them differently in its completion file.
Fix for bug where fish fails to source config files if the path contains
a space
Fix fish.app for directories with spaces. Fixes #774
Support term256 in config.fish. Fixes #1022.
Update docs to describe autosuggestions. Fixes #937
Make tok_last_type return an enum token_type instead of int
Better error messages for `EDITOR=vim git...` type commands.
https://github.com/fish-shell/fish-shell/issues/809
Strip out git commit numbers from doxygen documentation
Support implicit cd with appended `/`.

This is an experimental feature, proposed in the issue #22.
https://github.com/fish-shell/fish-shell/issues/22#issuecomment-20483478
Restore directories' tab completion without slash in command.

This is needed for implicit cd when ending command with `/`.
Fix git completions when aliased command is not found.
configure: use C++ for all tests, kill CFLAGS