Don't require .git before running git-describe

When calculating the version, we don't need to test for the presence of
.git before running `git describe`. This lets us work properly in a
detached work tree if GIT_DIR is set.
Fix 3rd arg to PROCESS_EXIT event for %self

The PROCESS_EXIT event takes 3 args: event name, pid, status. However,
when fish is exiting, the PROCESS_EXIT is instead given the status of
whether the last commandline parsed successfully. Change it to use the
same value that fish itself is going to exit with.
Update completion for Bundler

All commands and options available for Bundler version 1.7.4

Signed-off-by: David Adam <zanchey@ucc.gu.uwa.edu.au> (with trailing
fullstops removed)
Clean up some memory allocation in builtin_commandline
Eliminate wcsv2strv
Make C_ (gettext used in completions) return wcstring
Fix expansion tests on OS X
Fix C_ call to work when gettext is present
Set of fixes for issues identified by cppcheck
Remove a bunch of dead code identified by cppcheck
Don't suggest non-directories when tab completing cd

Fixes #1059