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 don't understand this method and it seems to do more than just outline the deployer's username. I don't think we need bypass or buddy in the summary and the deployer should always be the one who initiated the deploy, rather than the one who approved it.