Update/edit recurring events: Bug #725786

This rather large commit allows for the user to update (edit)
recurring events.  It also allows for recurring events to be created
with a GUI display rather than the Quick Add interface.

This commit fleshes out the notion of a master Instance versus a
generated Instance, important for editing.  It also introduces a
simple widget for rotating GtkButtonBoxes to allow the user to make
a second-level decision without a separate dialog box.

Updating "this and all future events" will be ticketed for later,
as this patch was getting too beefy to allow for more functionality
to bleed in.