WebIconDatabase can miss private browsing state changes.
<rdar://problem/15322318> and https://bugs.webkit.org/show_bug.cgi?id=123375

Reviewed by Alexey Proskuryakov.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::willStartUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(true) on each context.
(WebKit::WebContext::willStopUsingPrivateBrowsing): Call setAnyPageGroupMightHavePrivateBrowsingEnabled(false) on each context.
(WebKit::WebContext::setPrivateBrowsingEnabled): In addition to notifying other processes about private browsing
  sessions, notify the context’s WebIconDatabase about the change in value.
* UIProcess/WebContext.h:

* UIProcess/WebIconDatabase.cpp:
(WebKit::WebIconDatabase::setDatabasePath): Prime the IconDatabase with an initial private browsing value.
(WebKit::WebIconDatabase::setAnyPageGroupMightHavePrivateBrowsingEnabled):
* UIProcess/WebIconDatabase.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158101 268f45cc-cd09-0410-ab3c-d52691b4dbfc