Bug 1056523 - Ensure sync credentials are reset during reauth flow. r=markh, a=lmandel

This patch addresses a bug in the following scenario:

User has browser 1 connected to sync and open, and resets her password
on browser 2. Eventually the browser detects the need to reauthenticate
the user, and prompts the user. When the user entered her new password,
the browserid_identity module failed to re-derive a new syncKeyBundle
from the new password and happily used the old one. Chaos ensued.

This patch mitigate the problem by calling resetCredentials at the
start of initializeWithCurrentIdentity(), which will clear the
syncKeyBundle, along with other credentials. Previously this
function was only resetting this._shouldHaveSyncKeyBundle.

I also removed a misleading comment about the syncKeyBundle being
cleared when it wasn't.
Bug 1058099 - Cancel CacheStorageService::mPurgeTimer if it's still set during shutdown. r=mayhemer, a=lmandel
Bug 1046017 - Backed out changesets 1c213218173f & 8588817f7f86 (bugs 1017427 & 1006797). a=lmandel
Bug 1063971 - Allow SetRemoteDescription to omit callbacks again. r=jib, a=lmandel