Don't save push settings if settings are nil

There is probably a bigger underlying issue with push settings being nil (lost credentials) but this method should be a bit more robust.
Remove duplicate constant NotificationsDeviceToken
Handle adding & removing push token in user defaults more reliably
Don't register for push notifications here in the App Delegate - called explicitly elsewhere
Don't blindly ignore sync operation - added logging
Cleaned up operations and added an explicit save after making WPAccount isWPcom true
Revert "Cleaned up operations and added an explicit save after making WPAccount isWPcom true"

This reverts commit f1bd6c855904782e363fad3a54930259c26cf778.
Revert "Don't blindly ignore sync operation - added logging"

This reverts commit a8ae2a1f4612def585961db4312c0562ca090280.
Revert "Don't register for push notifications here in the App Delegate - called explicitly elsewhere"

This reverts commit 564605405b027425f4542c32142c05c8bfbed357.
Revert "Handle adding & removing push token in user defaults more reliably"

This reverts commit 715dd2aa199cd95bdab6d932e5c5106f73a9aa37.
Revert "Remove duplicate constant NotificationsDeviceToken"

This reverts commit d4aa0b40f8c6c9976276911234f8f67e28d70e61.
Merge pull request #1166 from wordpress-mobile/issue/1153-nil-push-settings

Don't save push settings if settings are nil