Introduce DistributionPool for a better encapsulation and RAII to detach non-distributed nodes.

This patch is separated from https://codereview.chromium.org/26191003/

BUG=None
TEST=None; No behavior changes;

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

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