Add support for user-specified chunk allocators/deallocators.

Add new mallctl endpoints "arena<i>.chunk.alloc" and
"arena<i>.chunk.dealloc" to allow userspace to configure
jemalloc's chunk allocator and deallocator on a per-arena
basis.
Refactor huge allocation to be managed by arenas.

Refactor huge allocation to be managed by arenas (though the global
red-black tree of huge allocations remains for lookup during
deallocation).  This is the logical conclusion of recent changes that 1)
made per arena dss precedence apply to huge allocation, and 2) made it
possible to replace the per arena chunk allocation/deallocation
functions.

Remove the top level huge stats, and replace them with per arena huge
stats.

Normalize function names and types to *dalloc* (some were *dealloc*).

Remove the --enable-mremap option.  As jemalloc currently operates, this
is a performace regression for some applications, but planned work to
logarithmically space huge size classes should provide similar amortized
performance.  The motivation for this change was that mremap-based huge
reallocation forced leaky abstractions that prevented refactoring.
Merge branch 'pr/80' into dev
Minor doc edit.
Fix manual dependency on jemalloc_test.h
Define _CRT_SPINCOUNT in test/src/mtx.c like in src/mutex.c
Define DLLEXPORT when building .jet objects
Replace variable arrays in tests with VARIABLE_ARRAY
Add missing $(EXE) to filter TESTS_UNIT_AUX_OBJS
Use C99 varadic macros instead of GCC ones
Rename "small" local variable, because windows headers #define it
Avoid pointer arithmetic on void* in test/integration/rallocx.c
Use ULL prefix instead of LLU for unsigned long longs

MSVC only supports the former.
Move __func__ to jemalloc_internal_macros.h

test/integration/aligned_alloc.c needs it.
Use a configure test to detect the form of malloc_usable_size in malloc.h
Move platform headers and tricks from jemalloc_internal.h.in to a new jemalloc_internal_decls.h header
Define INFINITY when it's not defined
Correctly return exit code from thd_join on Windows
Fixup after 3a730df (Avoid pointer arithmetic on void*[...])
STATIC_PAGE_SHIFT for cross-compiling jemalloc

Sets `STATIC_PAGE_SHIFT` for cross-compiling jemalloc to 12. A
shift of 12 represents a page size of 4k for practically all
platforms.