Changes in WTF collections to allow GC-heap allocation

This adds the support we need in WTF for Oilpan (tracing GC) support.  It is done by adding an extra template parameter, that allows us to support different allocators in the WTF collections.  For now, only Vector, HashSet and HashMap are supported.  By default the PartitionAllocator allocator is used, and that's the only one that is checked in right now, but soon there will be a HeapAllocator (outside of WTF) for the GC traced Oilpan heap.

This changes the default allocator for the Vector, HashSet and HashMap objects from the fast allocator to the partition allocator.  The backing store for these 3 collections was already allocated from the partition allocator, so no change there.

A trace method is added to Vector and HashTable (the implementation of HashSet and HashMap).  This will used by the tracing GC to find objects reachable from the collection.  These objects include the backing stores of the objects as well as the objects pointed to by the collections.

I'd like to get rid of RefPtrHashMap, but that work is not complete in this change.

R=abarth@chromium.org, ager@chromium.org
BUG=

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

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