Add chromium-side support for history.{push,replace}State.

Enables the feature so that all but 2 of the related layout tests pass.

Modifies TestShell to correctly update its location bar as navigations occur.
It was incorrectly showing firstPartyForCookies for some crazy reason.

Modifies to store the state object associated with a session
history entry.

Modifies to always replace the current navigation
entry when observing an in-page navigation.  This is required since the page ID
isn't changing for an in-page navigation.

TEST=covered by layout tests

Review URL:

git-svn-id: svn:// 0039d316-1c4b-4281-b951-d872f2087c98
11 files changed