Fix the offset-by-0.5 bug in both the Python and C routines, and add a way
to select the number of processes to use in the parallel implementation.

Docs were added as well.