Add prediction capability

I think this is a really cool feature and I hope you'll agree. The idea is that for a non-Brownian particle, we can improve tracking performance (i.e. use smaller `search_range`) by making an educated guess about where a particle will go next. I explain in http://nbviewer.ipython.org/github/nkeim/trackpy/blob/add-predict/examples/prediction.ipynb

This PR adds a few lines of code to `link_iter()` and `TreeFinder` that constitute a generic API for prediction. There are also new classes in predict.py that implement a couple useful algorithms. And of course, there are tests.

Finally, this switches the default subnet linker to "auto" (numba if available). I think @danielballan did this before and somehow it got reverted. Now that I'm using this code on real data, it makes a massive difference in performance.