slab allocator free pages defragmentation

    Large allocations from a slab pool result in free page blocks being fragmented,
    eventually leading to a situation when no further allocation larger than a page
    size are possible from the pool.  While this isn't a problem for nginx itself,
    it is known to be bad for various 3rd party modules.  Fix is to merge adjacent
    blocks of free pages in the ngx_slab_free_pages() function.

Merge nginx official patch.
patch: http://hg.nginx.org/nginx/rev/c46657e391a3
discussion: http://forum.nginx.org/read.php?29,250019