Error Messages

This change adds the ability to show error messages when a popover cannot be saved. 

![](https://i.cloudup.com/sZ92GgZbUY.png)

To display a message, simply call `reject(error)` on the promise returned from the save hook. The result of calling `error.toString()` will be displayed in the popover.