mk: Bundle jemalloc with make dist

The dist tarball doesn't depend on git, so all git submodules must be included
inside of it.
mark rust_malloc/rust_free as unsafe

Support for this was added by 08237cad8d2ce9287aedf99e57384407cc9dc42d.
heap: add a way to print allocator statistics
heap: replace `exchange_free` with `deallocate`

The `std::rt::heap` API is Rust's global allocator, so there's no need
to have this as a separate API.
make sure jemalloc valgrind support is enabled

This requires pointing it at the valgrind headers we carry in-tree.
auto merge of #14119 : thestinger/rust/heap, r=cmr