Create UserDefaults constants to avoid the widespread use of strings

- Add UIUserDefaultsKeysConstants.h and import it in the .pch
- Refactor all code uses of NSStrings as keys of NSUserDefaults. This makes code reuse and future refactor safer
Merge pull request #11 from Cocoanetics/fcy/user-defaults-keys-as-constants

Create UserDefaults constants to avoid the widespread use of strings
Rewriting Auto Sync to work correctly even if the machine sleeps between syncs.
Before this commit sleeping would delay the sync for the duration of the slumber.
ARCifying GenericAccount.
Improving Auto Sync to sync immediately if the last sync was too long ago.
moved NoodleKit group to Externals group
Fixed sizing and draw position of status icon.
Closes #13
Merge branch 'cocoanetics/issue_13' into develop
Removed NoodleKit
Removed unnecessary category
removed log
set voce auto sync interval to 24 hours
Merge branch 'cocoanetics/issue_14' into develop
Added DTReachability
added log, set waiting flag to NO on starting of sync
Merge branch 'cocoanetics/issue_15' into develop
Fixed timer scheduling to deal with non-24 hour days
Add consideration for more than one day, there the hour in the day does not matter
Fixed incorrect comparison
Start autosync on next run loop to avoid non-updating of icon