Fix crash when ending systrace webview

Now call TraceLog::Flush from a new thread having a message loop.

BUG=309627

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

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

Add a class that holds all locally unacknowledged invalidations and
their state. It is not used anywhere outside of tests.

This class is part of an attempt to refactor the InvalidatorStorage
class. That class stores pieces of the invalidations component's state
in preferences. It currently has some simple getter and setter methods
for things like the client ID and bootstrat data, and some more
complicated methods that related to storing unacked invalidations.

The goal is to eventually move the complex logic related to
invalidations out of the InvalidationStorage class, and into the
UnackedInvalidationSet class. The UnackedInvalidationSet class can
be owned by the SyncInvalidationListener, and periodically passed back
to the InvalidationStorage class on a separate thread for serialization.

The motivation for this refactoring is not merely aesthetic. The
UnackedInvalidationSet handles certain trickles related use cases
that the current storage system can not. Extending the existing storage
system to support these features would have made the code much harder to
understand. This approach lets us add functionality and simplify the
code at the same time.

BUG=233437

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

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