Revert "Remove help completion for eval, which doesn't work"

This reverts commit d2f23e1df45f07fb4d716b07c40de7381e539b9d.
Support -h/--help with `eval`

`eval` prints help if given a single argument of -h or --help.

Fixes #1379.
fish_config: Log the path for errors
web_config: Interpret fish output as utf-8

Use the unicode replacement character in place of non-utf-8 sequences.
Rewrite __fish_print_help to produce better results

As a result of this rewrite, the output now:

* Expands to fit the terminal width, like `man` does
* Preprocesses the manpage with `tbl` just in case, since `man` does
  this, even though I doubt any fish manpages use `tbl` formatting.
* Handle bold/underline with the `ul` command as it was designed for
  instead of trying to fake it with `sed`.
* Compresses blank lines as `man` does with the default `less -is`
  pager.
A little extra tweaking so builtin_print_help looks better

The terminal width magic that __fish_print_help learned doesn't help
when builtin_print_help runs it in a subshell. Instead, add an
undocumented --tty-width flag to __fish_print_help that's used to pass
the terminal width.
Add GPL2 LICENSE file

Fixes #1073.
Vagrant completion updates

Improve vagrant completions for some commands to avoid spurious
completions, and add completions for some missing Vagrant commands.

Fixes #1748.
Support space separators for abbreviations as part of #731
web_config: use only Python 3-style (Unicode) string literals

Improves Python 2/3 compatibility.
(It is the distant future, the year TWO THOUSAND.)
web_config: further python2/3 unification
Mark unknown versions as unknown.
Change how arrays and environment variables interact.

Prior to this change, inherited environment variables
would be split on colons, becoming an array. This change
eliminates that behavior. Now environment variables are
always split on the record separator character (ASCII 0x1e),
with the exception of a short whitelist of PATH, MANPATH,
CDPATH. Likewise, exported variables are also exported
delimited by rs, with the exception of the above whitelist.

Fixes #1374, also see #1656
Report certain errors from parser_t::eval() that were previously ignored