popover: Do not hide the popover if the focus widget is just unset

The focus widget might be unset, just to be set again on a widget inside
the popover. Have the popover wait till the focus is actually moved outside
before dismissing.
popover: Check for uncaught button events from children

And deal correctly with those as a click within the popover.

https://bugzilla.gnome.org/show_bug.cgi?id=727994
popover: Hide widget first when disposing

In order to ensure invariants are kept.

Conflicts:
	gtk/gtkpopover.c
Merge pull request #4 from endlessm/shell/1591

Shell/1591