Partway to working alarms

Adds methods for calculating times for reeating alarms
Adds (incomplete) service for responding to geofence events
Format code
Add TODO statements for remaining work
Added basic unit test setup