Allow custom handling of classes that contain weak pointers that are embedded in collections.

This is currently tested with HeapHashSet. Extending it to other hash
collections is postponed to a later change. To have your type removed from
collections when weak pointers in it no longer point to live objects you need
to give it two methods and a special hash trait. See WeakHandlingHashTraits in
Heap.h for details and PairWithWeakHandling in HeapTest.cpp for an example.

R=ager@chromium.org, haraken@chromium.org, wibling@chromium.org, zerny@chromium.org
BUG=

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

git-svn-id: svn://svn.chromium.org/blink/trunk@176009 bbb929c8-8fbe-4397-9dbb-9b2b20218538