Load election list for userAddress from cache if available
Cache votingInfo queries via CoreData for VotingInfoCacheDays set in settings.plist
Bugfix the CoreData cache mechanisms of the project

  - Update NSManagedObjectContext saves to always save to the
    AppDelegate defaultContext to avoid race conditions and
    accidentally saving on other threads/contexts
  - Remove all other NSManagedObjectContext references in the app
  - Bugfix NSDateFormatter to actually be yyyy-MM-dd
  - If an election is specified, don't default to another one
    if that election can't be found.
  - try/catch for photo data save failure
Use MR_defaultContext for all CoreData operations

A shared context via the AppDelegate should not be used
because it adds unnecessary coupling to the appdelegate
and causes tests to break because the tests do not have
access to a UIApplication instance.

Also, as per the MagicalRecord docs, MR_contextForCurrentThread
should not be used on the main thread because MR_contextForCurrentThread
returns the same context as MR_defaultContext in that instance.
See:
  - https://github.com/magicalpanda/MagicalRecord/issues/566
  - http://stackoverflow.com/questions/17814656/passing-a-managedcontext-with-core-date-magical-record

Remove extraneous AppDelegate imports
Merge branch 'feature/core-data-caching' into develop