Small fix for fish_update_completions (amended)

Amended from https://github.com/fish-shell/fish-shell/pull/1003.
Fix a Unicode parsing error; search man6.
__fish_print_hostnames: do a better job of searching SSH files
scp completions: use __fish_print_hostnames rather than doing independent hostname searches
rsync completions: complete hostnames ala scp

Closes #1010
Fix set_color crash on 'ignore' and 'reset'
https://github.com/fish-shell/fish-shell/issues/996
reader_replace_current_token can be made static
Fix for parse_util_token_extent doing the wrong thing inside a command
substitution. Fixes https://github.com/fish-shell/fish-shell/issues/833
Refactored builtin_echo with better argument parsing.
Update to latest config.sub and config.guess versions

(Now from Automake 1.11.6.)
Update to newer install-sh version

(Now from Automake 1.11.6.)
Improve dangerous/undefined PID expansion behavior

1. Use Bash-like expansion for empty searches (when you just use a '%' by
itself).

'%' will now *only* match the last valid backgrounded process.
If there are no such processes, an expansion error will be generated.

'%' by itself would previously match either *all* backgrounded
processes, or failing that, all processes owned by your user. If you
ever tried to run `kill -9 %`, it would either kill all backgrounded
processes or *all* of your processes. I'm not sure why anyone would ever
want that to be a single keystroke away. You could almost typo it.

As a result, `fg %`, `bg %`, `kill %`, etc will all operate on the last
process touched by job control.

2. Don't run 'by-name' matches when the search term is numeric.

This prevents you from running a command like `kill %1` and accidentally
killing a process named something like "1Command". Overloaded behavior
can be dangerous, and we probably shouldn't play fast and loose with
expansion characters that generate process IDs.
Add Perl modules completion.
Disable flow control per #814
default key bindings: add further iTerm2 bindings
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.
default key bindings: fix syntax errors introduced in 735af50
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.