Fix re-entrancy issue in partitionAlloc.

I think we can finally bring some simplicity to this area: do the previously
re-entrant free() once the allocation is finished and all the structures are
updated and consistent.

I have not yet been successful in adding ASSERTs that would have trapped the
problem earlier, or in isolating a unit test. Work will continue.

BUG=308310
TBR=tsepez@chromium.org

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

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