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.
The definition of the two methods have too much duplication
Could have one method but taking an additional parameter?
e.g.
```ruby
deploy_status_panel(deploy, require_buddy_check)
```
then you can pass in
```ruby
deploy_status_panel(deploy, BuddyCheck.enabled?)
```