Began implementing Cython version of replica mixing

I've added a Cython file, as well as a `cythonize()` call in setup.py. Still a WIP, but wanted to put up the code now.
This is me being excessive, but maybe separate the `nswap_attempts` onto a separate line?  It's a pretty important to be able to read that definition clearly.