Revert 167998 "Oilpan: automate TraceTrait/ObjectAliveTrait for ..."

> Oilpan: automate TraceTrait/ObjectAliveTrait for non-leftmost deriving classes
> 
> Note: This is a port of https://codereview.chromium.org/177173002/ landed in the branch.
> 
> This CL introduces GarbageCollectedMixin interface, and its implementation helper macro USING_GARBAGE_COLLECTED_MIXIN to automatically define TraceTrait/ObjectAliveTrait on non-leftmost deriving classes which need to be garbage collected.
> 
> Consider the following case:
> class B {};
> class A : public GarbageCollected, public B {};
> 
> We can't correctly handle "Member<B> p = &a" as we can't compute addr of object header statically. This can be solved by using GarbageCollectedMixin:
> class B : public GarbageCollectedMixin {};
> class A : public GarbageCollected, public B {
>   USING_GARBAGE_COLLECTED_MIXIN(A)
>   };
> 
>   With the helper, as long as we are using Member<B>, TypeTrait<B> will dispatch adjustAndMark dynamically to find collect addr of the object header. Note that this is only enabled for Member<B>. For Member<A> which we can compute the object header addr statically, this dynamic dispatch is not used.
> 
> BUG=None
> R=ager@chromium.org
> 
> Review URL: https://codereview.chromium.org/182613004

TBR=kouhei@chromium.org

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

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