- Add a AutoFieldCountFormatter formatter for auto field
incrementation.
- Add a CodingFormatter for formatting encoded strings.
- Fix encoding for hook plugin using CodingFormatter.
- Remove `shell` option and split all commands using `shlex.split`
before passing them to `subprocess.Popen`.
- General refactor of hook plugin code - move hook creation function
inside `HookPlugin`.
- Add improved error handling for invalid (i.e. empty) commands or
commands that do not exist.
Iterate substitute_args instead of kwargs, as we
ignore anything that is not in substitute_args
already.
Fix an issue where a hook argument containing
non-ascii characters caused an exception.