update and expose srallocx

This updates to the current dev branch and exposes the srallocx function that has been proposed for upstream inclusion. I don't know if it will end up landing upstream, but it's a small amount of straightforward code (108 additions, 78 deletions) so maintaining it out-of-tree won't require much effort. Rust would still be able to build against a vanilla jemalloc via `--disable-jemalloc`, although without sized deallocation (as it already does on FreeBSD).