Drop the "shared" from allocators and use a single lock layer instead of many single locks.

This is a preparation for full thread local allocators. Until this is done, there is still a single allocator hierarchy for all threads and this is protected by a single locking proxy at the top of the hierarchy.

See http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/17619/ for the performance bug that initiated this first step.