Promisify Bootstrap.ModalPane

A ModalPane now resolves when the `primary` button is clicked and
rejects on `secondary` or `close`.

This change allows you to write a dialog like this:

```javascript
Bootstrap.ModalPane.create({
  heading: 'You sure?',
  primary: 'Delete',
  secondary: 'Cancel'
}).popup().then(function() {
  // primary button has been clicked
});
```