Improve shootout-reverse-complement

Lots of unsafe code and lots of branches removed. Also multithreaded.

Rust old: 1.208 seconds
Rust new: 0.761 seconds
C: 0.632 seconds
That's a lot of unsafe code for a function that will be used only once for a very small amount of time. I personally find that `make_complements()` in the old version is much more simple, but I may be biaised as I wrote it ;-).