new CPython API: allocators have now a new "data" parameter

Disable also tracemalloc temporary while calling malloc(), realloc() and
free() to avoid reentrant calls
explain the assertion in trace_log_alloc()
update for the last patch of Python issue #3329
Fix trace_update_stats(): only remove a trace when count=0

Not when size=0. Allocations of 0 bytes are allowed.
Update to last PEP 443

 * Set version to 0.9.2
 * Hook also PyMem_RawMalloc()
 * Disable also hooks while saving the trace and updating stats
cleanup trace_register_hook()
rename trace_register_hook()
fix compilation if TRACE_RAW_MALLOC is not defined
Merge branch 'userdata'
move patches into subdirectories
copy code from PEP 454

Copy _tracemalloc.c, tracemalloc.py and test_tracemalloc.py from the
implementation of the PEP 454
fix _tracemalloc.c compilation on Python 2.7