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
vi bindings: add CTRL-C handler in default mode

There is no CTRL-C handler for the default mode in the vi bindings. This makes it difficult to say "never mind" and start a new command line like you can do in bash's vi mode. 

There were CTRL-C handlers for insert and visual modes that go back to default mode, but nothing happens in default mode. I copy-pasted the CTRL-C handler from the default key bindings file.
Remove some more dead code
Fix to swallow BOMs in sourced files

Fixes #1518
Allow # within string tokens

This means that # must be the first character of the string
to start a comment, in line with other shells

Fixes #953
Fix tests on FreeBSD

FreeBSD throws errors if you pass flags like O_WRONLY to mkostemp.
Pass only O_CLOEXEC.
BOM test should only run in UTF-8 locales
Disable printf %a test since it has different output on FreeBSD

Fixes #1139
Disallow backgrounding in conditionals and before and/or bool statements

Fixes #1136
Clean up some job status messages

Stop printing anything for jobs terminated via ^C.
Don't list the job number if it's the only job.

Fixes #1119
Remove an incorrect comment
Merge branch 'master' into pt-translation