Persisting Actions

Add persistence for actions using the Pod Mantle. Actions are persisted in a file per action. This has required fixes to record as properties facility and client identifiers for persistence as the client and facility objects should not persisted in the action file. The action identifier is now generated using UUID. The file name includes the UUID. Each class that is persisted has a configuration for how the properties is persisted. Actions include scheduled event objects and schedule events include scheduleTime
objects so they need also also be persisted.

PPRScheduleTableViewController
- Move from using parent to parentId in actions

PPRAction.h
- make serialisable
- add parentId and facilityId properties
PPRAction.m
- add serialisation configuration and isEquivalentTo

PPRClientAction.h
- add clientId property
PPRClientAction.m
- add  isEquivalentTo

PPRScheduledEvent.h
- make serialisable
PPRScheduledEvent.m
- add serialisation configuration and isEquivalentTo

PPRScheduleTime.h
- make serialisable
PPRScheduleTime.m
- add serialisation configuration and isEquivalentTo

PPRDataStore.h
- Generic data store routines

PPRActionManager.h
- add data store property
PPRActionManager.m
- create actions directory on initialisation
- added loadAction routine
- getAction now uses “isEquivalentTo” to determine if a prototype action matches actions
- actionId is now calculated using a UUID
- updates to actions are persisted

PPRClientActionScheduler.m
- before scheduling an action check if an equivalent action already exists.

PPRScheduler.m
- use facilityId instead of facility in actions

PPRTestInitialiser.h
- add dataStore property
PPRTestInitialiser.m
- initialise dataStore shared instance

PPRClientManagerTest.m
- update for additional clients in the test data

PPRFacilityManagerTest.m
- update for additional facility in the test data

PPRActionManagerTest.m
- update for additional actions in test data
Merge remote-tracking branch 'pegwing_ppreminderer/master' into persisting_actions
Merge remote-tracking branch 'pegwing_ppreminderer/master' into persisting_actions

Conflicts:
	Pods/Pods.xcodeproj/xcuserdata/davidbernard.xcuserdatad/xcschemes/xcschememanagement.plist
Issues from Merge

PPRAction
PPRClientAction
- display scheduledEvent.eventName rather than context

PPRScheduledTime
- add dummy JSONKeyPathsByPropertyKey - will later be used in server persistence

PPRClientScheduler
- set client, clientid and facility, facility when scheduling action

PPRFacility Scheduler
- schedule “non daily event” client actions for facility
Merge pull request #33 from davidbernard/persisting_actions

Persisting actions