ListVimHooks: <CR> opens hook in current window
Bug fix: execute hook after setting execute bit

Moved the shell execution logic to a separate function, executeVimHook. This
function re-calls itself after the user has been prompted to set the execute
bit. The function returns a string of error messages which can be used to
build up the entire block of error mesages. I'm not sure I like how this is
being done, however. To my eye, it's not immediately obvious what's
happening when I see the line

    let errorMessages = errorMessages . call s:executeVimHook(vimHook)

May change this later.