Bug 1113432 - Use extensions to implement delegates in BVC

The recommended pattern at https://github.com/raywenderlich/swift-style-guide#protocol-conformance is to separate delegate implementations into separate extensions. This keeps methods grouped together and looks a bit nicer.

What do you guys think?