Add silent, allow empty pre-commit array

This adds two features.

The first is to recognise that when I do `'pre-commit': []` i don't want you to run `npm test`.

The second is to add a silent option so you don't complain about an empty array.

`pre-commit` is really hard to uninstall so instead of removing it from a project I am configuring it with an empty array.