[GCM] Make RMQ ack logic more resilient

Redundant ids (those already acknowledged) are now supported during a stream
ack. Additionally, id order is no longer assumed.

BUG=343974
R=fgorski@chromium.org

Review URL: https://codereview.chromium.org/173713009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253228 0039d316-1c4b-4281-b951-d872f2087c98
Fixing the GCMStoreImplTest.GetNextPersistentId on Windows

Problem:
It seems that consecutive calls to base::Time::Now().ToInternalValue() might
yield the same outcome multiple times in a row, which is not suitable for
producing unique IDs for testing.

Fix:
Persist a starting value based on current time and then increment it with
every call.

BUG=345118
R=zea@chromium.org

Review URL: https://codereview.chromium.org/177243007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253229 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253228
Disable flaky test: WindowSizerContextMenuTest.OpenBrowserUsingContextMenuOnOtherDisplay

BUG=346799
R=rsleevi@chromium.org
TBR=sky@chromium.org

Review URL: https://codereview.chromium.org/180263002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253230 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 253230