[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.
Sure I will do that. I just decided to show you all changes (I understand it's pretty chaotic). 

The main problem is that `query_radius` after my additions works slower with multiple threads than in the current version (which runs almost the same time with any number of threads). 

If we figure out what to do with that, I will change commits.