Add scheduling of events

The schedule now loads actions from the action manager whenever the facility is set in the shift settings. The actions are scanned every second for due actions and
due actions a “processed” by a due action processor.

PPRActionViewController
- add a table for action context specific instructions
- rename details to action

PPRClientTableViewController
- obtain facilityId from Shift Manager

PPRSettingsViewController
- reset settings using shift manager

PPRScheduleViewController
- move action status constants to action
- set completion time if action completed
- add postpone functionality
- loadActions loads actions, filters on facility and sorts by due time
- action statuses “Notified” and “Scheduled” supported.
- display completionTime for “Done” actions

PPRAction
- add facility and completion time properties
- add method to calculate the instructions for an action

PPRClientAction
- add method to calculate the instructions for an action

Add PPRActionScheduler
- class to support creation of scheduled actions

Add PPRClientActionScheduler
- subclass of PPRActionScheduler for scheduling client actions

Add PPRFacilityActionScheduler
- subclass of PPRActionScheduler for scheduling facility actions

PPRActionManager
- add methods to update action status

PPRScheduler
- add functionality to maintain the schedule of actions, process due actions through an assigned processor.

PPRTestInitialiser
- Initialise Action and Facility schedulers and schedule actions for the facilities and clients.

PPRSchedulerTests
- Add tests for scheduler

PPRActionSchedulerTests
- Add tests for action scheduler

PPRClientActionScheduleTests
- Add tests for facility scheduler

PPRFacilityActionSchedulerTests
Fix init routine of test initialiser
Merge remote-tracking branch 'davidbernard_ppreminderer/schedule_events'
Merge of #22