WIP: New top-level package: wrench

This tiny package provides simple way for any part of Juju to check if a "wrench should be dropped in the works" at some part of Juju's execution. It checks $datadir/wrench for files which signal that something should break, performing some error checking and logging.

The idea is that judicious calls to wrench.Enabled can be permanently left in the code to aid manual and CI testing.

Still coming: 
 * be strict about the ownership and mode of wrench files to make it more difficult to accidentally or maliciously trigger wrench functionality
 * call wrench.Enable(false) in BaseSuite's setup 
I think Enable should take an argument, otherwise you have things like Enable(false), and what does that mean.

Please rewrite this as 

func Enable() bool { return setEnabled(true) }