[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.
I pursued the goal to avoid writing `with gil` in the main cycle below, the only way I found to do that was with `malloc`. But it didn't help, this function works much slower with multiple threads.