* Change from having every bookmark register for page and favicon load notifications to having the BookmarksManger watch for loads, and then notify the relevant bookmarks. Requires the BookmarksManager to maintain two maps, one of page url -> bookmark, and another of favicon url -> bookmark.
* Now we build the bookmarks menus lazily on display: BookmarkMenu is now an NSMenu subclass.
* The writing of Spotlight Metadata for bookmarks now happens on a thread, after we've set up the rest of the bookmarks.
* We no longer save some empty keys for bookmarks and folders to the bookmarks plist file, which reduces its size (and saving cost). Also changed some bookmarks members from being object types (NSNumber) to primitive types.
* Delay the loading of bookmark icons until requested (rather than when the bookmarks url is set on bookmark loading).
* Bookmark changed notifications now go out with a set of change flags, so we know what changed and can avoid saving bookmarks for trivial changes.
* We no longer save the bookmarks when you tab between fields in the Info panel, if you didn't change anything.
* Sundry bookmarks code cleanup for readability and leg-cocking.
* We now save custom (i.e. <link>-based) favicon URLS with bookmarks, which allows us to avoid hitting the Necko cache for every bookmark up-front as we try to figure out the favicon url for a bookmark.
* The site icon provider code now provides info in the "loaded" notification about whether the load came from the network.
Fixes bug 279994, bug 236373.
Fix bug 195169: when making bookmarks, we save the URL with relataive anchors now (before, we just used the page URL).
Fix bug 295731: when a favicon loads, make sure it's for the current page before showing it.
Fix bug 231039: we save the bookmarks splitter location now.
Fix bug 284829: about:bookmarks/about:history have a favicon now.
Fix bug 293768: we save the expanded state of bookmarks folders in the bookmarks outliner now (which requires us to save UUIDs to the bookmarks file)
Maybe help bug 289769: avoid using 'nil' as a premature argument to [NSDictionary dictionaryWithObjectsAndKeys], which may have contributed to lost bookmarks.
Fix bug 285097: show the correct (localizable) window title for bookmarks and history.
Code cleanup: removed [CHBrowserView getCurrentURLSpec] and replaced all calls with calls to [CHBrowserView getCurrentURI], which should return the same thing. Standardized wrapper methods to match.