I chose to use `dill` instead of `pickle` for additional flexibility
in inline functions. Python's built-in `multiprocessing` library uses
`pickle`, so it was still a bottleneck. In particular functions defined
within class methods (e.g. within a test method) couldn't be pickled.
`multiprocess` is a fork of `multiprocessing` which mainly differs in
replacing `pickle` with `dill`. It's maintained by the same developers
as `dill`, so it seems like a safe replacement.
Conflicts:
test/expected.py
Install pytest for Travis tests.
Move python dependencies to requirements.txt.
Use mmh3 instead of pyhash
pyhash cannot be installed on Travis due to an outdated check
for libboost_python.so. mmh3 seems to be better maintained and
more widely used.