Allow run() to not fail; add git config helper

Modify run() so the caller can decide that nonzero exit status
need not terminate the hook.  Add get_git_config() helper to allow
for easy access to a config key with a default if necessary
Allow repositories to opt-out of whitespace check

Modify update() hook to bypass whitespace check if repository
is configured to do so