simplify shootout-reverse-complement.rs

Simpler, safer and shorter, in the same spirit of the current version, and the
same performances.

@mahkoh please review, I think I didn't change any performances related thing.
If you grow by a fixed size instead of using geometric growth then you have a higher time complexity.

There are no plans to improve the performance of reallocation for sizes <= 4M. On Linux, improving `mremap` in the kernel would make it significantly faster for > 4M sizes (moving pages, not copying). There's no point of putting a FIXME here if the issue isn't the growth performance of huge allocations.

A secondary issue is that Rust doesn't expose a way to tune / disable dirty page purging via an API. This is not a problem in jemalloc or a missing feature in the Linux kernel. You can do it via an environment variable with `export JE_MALLOC_CONF=lg_dirty_mult:-1` to see if https://github.com/rust-lang/rust/issues/18236 would help.