#636 code refactor
#636 add two new APIs for PacoNotificationManager
#636 add three new APIs for PacoScheduler
#636 add new APIs to PacoExperimentSchedule and PacoExperimentDefinition
#636 add new APIs to refresh experiments after definition gets refreshed successfully
#636 after definitions get refreshed successfully, we clean expired notifications, and refresh experiments and notification system according,
instead of deleting all running experiments and shut down notification system.
#636 save experiment plist after generating notifications, so that any generated esm schedules can be stored. minor log adjustment
Merge pull request #666 from google/issue636

Issue636