Add buddy check system

This adds a feature to Samson that can make samson require a Buddy for certain stages. The use case here is when deploying to production stages you want to have at least 2 developers know what code is being shipped.

/cc @zendesk/samson @jwswj @pswadi-zendesk 

### TODO

- [x] fix old tests
- [ ] add new tests
- [x] add email notification for `bypass`

### RISKS
- still using the confirmation setting on stages to determine whether a stage needs buddy check.
- If this branch gets merged, the measurement of the deployment duration needs to be fixed.
I moved the code into lib/policies, and picked up the new directory via autoloading.  I'll keep an eye out for what we consider a standard way of autoloading.  Clearly, putting helper code in app/ avoids having to explicitly autoload other directories.