Fix emacs completion on OS X

Avoid calling seq with 0 as argument since its behaviour is wrong on OS X.
Remove dead code in history builtin.
Add empty virtual destructor for lru_node_t.

history_lru_node_t has implicit destructor defined. However, because
it's being deleted as lru_node_t, it's not being actually called, as
lru_node_t doesn't have a virtual destructor.
Merge pull request #1708 from lledey/master

Fix emacs completion on OS X
Prepend ./ to "flag-like file" wildcard expansions and completions

If a wildcard or completion expands to a file that begins with
one or more dashes, prepend a ./ to it so that it doesn't get
parsed as an option.

Fixes #1519
Remove my_wcswidth() in favor of fish_wcswidth()

my_wcswidth() was just a wrapper around fish_wcswidth() already.
Instead, add two convenience overrides of fish_wcswidth() to common.h
that make it a drop-in replacement for my_wcswidth().
Make escape() return a wcstring

This avoids the potential for leaking the resulting string.
Escape the error string in process expansion errors

This prevents `echo %*` from printing a private-use character in the
error string.

Fixes #1720.