[WIP] ENH: Parallelize neighbors search through multiprocessing

I used the most simple approach with `'multiprocessing'` joblib backend. A simple benchmark could be seen [here](http://nbviewer.ipython.org/gist/nmayorov/7531d9b59608ae2d76dc).

This is the issue #3536.
This ``get_memview_DTYPE_3D`` function is required for compatibility with old versions of numpy. Unless we've updated our dependency minimums, it should stay.