Bug 833508 - two phased global sync stage constructors

rnewman: we talked about this in the context of data driven global sessions.  This is just a carefully segmented implementation of the two phased construction process that lets me create a `GlobalSyncStage` without tying it immediately to a `GlobalSession`.