Fix locking in CookieMonster.
Fix locking in CookieMonster.

Specifically:
* Added assertions in most private methods of CookieMonster that the instance lock is held.
* Refactored locking out of FindCookiesForHostAndDomain and into
  DeleteCookie(url,cookie_name) and GetCookiesWithOptions (its callers)
  to protect DeleteCookie's call to InternalDeleteCookie.
* Protected SetCookieableSchemes() (public method that modifies
  internal state directly).
* Shifted calls to HasCookieableScheme() around so that they were protected by the instance lock.

BUG=43188
TEST=Windows net_unittests ParsedCookieTest.*:CookieMonsterTest.* (Inserted assertions, confirmed crash in  CookieMonsterTest.DeleteCookieByName, refactored, confirmed no failure).  Windows net_perftests ParsedCookieTest.*:CookieMonsterTest.* run before and after change; noted minimal (but non-zero) performance degradation.

Review URL: http://codereview.chromium.org/2131002

git-svn-id: http://src.chromium.org/svn/trunk/src@47928 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

Former-commit-id: b940a9519ce3ef394268416d436074212d48c6ab
meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser,meego-tablet-ux/meego-app-browser