Add a null check to avoid passing null to io_chain_t::push_back
https://github.com/fish-shell/fish-shell/issues/590
Update Perl completion
Remove useless __fish_complete_perl function
Hopeful fix to avoid forking for certain builtins like echo when they have an input redirection only
Support /etc/paths and /etc/paths.d/* on OS X
https://github.com/fish-shell/fish-shell/issues/417
Cleanup and simplify null_terminated_array_t and its clients
Fix compilation by using std::ptrdiff_t instead of ptrdiff_t

Signed-off-by: lledey <lledey@gmail.com>