Fix push failure edge case (#2161999)

* Unsafe (potentially stale) data was being written to the Mailbox table near
  the end of each sync.  It would effectively undo changes made to the
  Mailbox in other threads that occurred while the Mailbox was syncing.
* In this particular case, changes to sync interval (push/ping/timed)
  were being overwritten, which could cause push to get lost for as
  long as 30 minutes (the pingLoop timeout when there aren't any
  pingable mailboxes)
* Watchdog alarm was being set to wrong time (typo)
* Add extra user logging in case there are additional cases of push
* Only set sync status and time on successful sync
* Move ping error check into pingParser to avoid unnecessary sync

Change-Id: Icb4494078480ada39b7494b3abf380fb08858406
4 files changed