Rewrite handling of command-line arguments and fix related issues

1. Rewrite the handling code for cmdline args
2. Remove the -f flag. Programs are now passed as non-args, this will
   help with hashbang syntax support
3. Fix halting code in CarpVM. This was buggy and showed up with the
   git pre-commit hook being run
4. Update the git pre-commit hook accordingly
Add carp -h check to git pre-commit hook