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
complete: recognise -w short option for --wraps

Closes #1793.
Adds heroku toolbelt completions
Changes tabs to 4 spaces per fish style
Fixes typo on line 86