Added offline mode

Holds data when app is offline and keeps redundant version of last seen
back-end data structure.  Pushes data to back-end when app is online.