GCI-48: Offline patients

Adds ability to view selected patients offline. There is a save button in each patient view, which saves the patient to Core Data. They then appear in the search view when the network is not available, and are fully searchable. 

Everything that we currently use about the patient, including encounters and visits, is stored. The database is encrypted using [encrypted-core-data](https://github.com/project-imas/encrypted-core-data), which uses Apple's [CommonCrypto](https://developer.apple.com/library/ios/documentation/System/Conceptual/ManPages_iPhoneOS/man3/CCCryptor.3cc.html#//apple_ref/doc/man/3cc/CCCryptor.).