Add semi-transient and fix transient popover behaviours

Not gonna lie… I'm a little bit tipsy so this code could be the worst thing in the world. However, this gets `RBLPopover`s behaviours a lot closer to their AppKit compatriots. They are defined as such:

Transient: The popover closes whenever there is a mouse down outside of the popover, the parent window loses focus or the application loses focus. 

Semi Transient: The popover is only closed if there is mouse _up_ within the popover's parent window.

The escape key still closes in both cases. Although I have noticed that there is an `NSBeep` whenever `esc` is pressed. Definitely need to look into that.

I have also renamed the behaviour constants to remove the mention of a view controller. Therefore this is a breaking change.

---

Fixes #92.

---

This also changes the dealloc behaviour to make sure we clean up any popover windows if the popover itself is deallocated.