Persisting actions

Add the pod "Mantle" for serialising the action object to a disk file

The actions now use UUID to allocate an ID. They are persisted in files serialised using the keyed archiver. 

Various fixes to unit tests are include

The facility action scheduler now schedules the client events that aren't related to daily events in addition to the later.

Various objects serialised with actions  have "isEquivalent" to help with detecting duplicate actions when actions are loaded from file.