Change the way that specs are run

Previously we have run the bash script locally, and stubbed out any
commands that could potentially cause destructive actions. In this
commit I have removed the stubs in favour of a DEBUG trap. This has
some advantages:

- We now whitelist commands that *can* be run, instead of blacklisting.
I think this is safer and causes less issues with wrecking environments
where the specs are run.
- It’s possible to test file redirections, which the stubs couldn’t
handle.
Fix specs that broke with new spec-run method
Enable pending specs

These specs both pass now, so we can enable them again.