Cast size_t to unsigned long.

printf expects unsigned long (%lu) argument, however, size_t doesn't
have to be declared as such. As %zu is C99 (but not C++), it shouldn't
be used directly. Instead, I have to cast value to the correct type.
Ensure the loop in offset_of_next_item_fish_2_0 is executed.

This ensures that timestamp will be initialized.
Fix io_buffer_t::print to take unsigned long argument.
Fix %lu for size_t in fish_tests.cpp
cd completion: handle not accessible directories
Fix indentation in __fish_complete_cd
Do not open CLI browsers when using fish_config.

From the Python webbrowser documentation:
"If text-mode browsers are used, the calling process will block until the user exits the browser."

Running fish_config on an ssh server with no GUI browser will open a CLI browser which blocks and stops the server from handling requests.
Using multiprocess to run the server in the background lets CLI browsers access the page, but the page is unusable.

For now, disable CLI browsers and recommend opening the page in a graphical browser.
In the future, maybe write a CLI utility to change prompts and delete history items.
Update brew completion with new options
On short prompts, commands wider than the terminal do not reposition to start on their own lines.
Fix wide character wrapping.

The intention of the block removed appears to be to indent wrapped lines to the column the line started at. What actually happens is that all wrapped lines wrap to column 0.
After adding the sticky short prompt feature, the block removed caused a bug with wrapping wide characters in addition to not appearing to change anything else.
Wide characters would change between wrapping to column 0 and the column the command started at, depending on what column the wide character was at before wrapping.

I am keeping the existing behavior rather than restoring the block's original intention. If the original intention should be restored, it should be on a different branch.
Fix support for backslash-newline in double quotes in unescape functions. Makes tests pass
again.
more detailed debugging when terminal type cannot be found

Ref: #1060
fall back to ANSI terminal type if setupterm fails

Closes: https://github.com/fish-shell/fish-shell/issues/1060

'ansi' should always be present (tested on Solaris, Linux, FreeBSD,
Darwin).

Also overrides TERM so that other programs behave consistently e.g.
fish_pager.

The error message makes no specific mention of terminfo or termcap as
these vary across operating systems.

(r+ @ridiculousfish with thanks)
Fix for annoying error message when converting out of range escape
https://github.com/fish-shell/fish-shell/issues/1107
Add missing const cast for setup_term
https://github.com/fish-shell/fish-shell/issues/1142
Fix for compile error identified in
https://github.com/fish-shell/fish-shell/issues/1142
Fix for process expansion off the main thread in syntax highlighting
(#1143)
__fish_complete_man: Use awk to parse output of apropos

Closes #960.

Uses pattern matching rather than OS detection. Works with BSD awk, GNU
awk and Solaris' nawk.
Use sed instead of sh for Informative Git Prompt.

Informative Git Prompt assumes that sh is bash compatible, but that's
not the case for FreeBSD. Fixes #1140.
Add eselect, rc-update and rc-service completions. (These are utilities used by Gentoo Linux)

Disable php completion for the 4th part of the command, since php-eselect is differently designed and causes errors

Closes #1131.