Ensure that every change operation updates widgets and notification

Previously we relied on ContractionControlsFragment to update the the widgets and notifications. Instead, we can update via whatever component actually changed the contractions. To handle cases where we are cold starting the whole app, also update on application create.