Force break long file paths to make sure the don't overlap with the central editor column
precommit hooks return an array of files
preupdate hook returns a new file

only accepts one path not an array of paths

refs #2682
run the postupdate hooks before updating the stores

this allows the hook to modify the new data
call precommit and postcommit hooks when adding files
add "pretemplateupdate" hook

This hook is called before updating a file from the template.
The hook can prevent the updating with a False return value.