Merge pull request #3212 from ogrisel/joblib-0.8.0

MAINT: joblib 0.8.0
Add t-SNE
Generalize with average of nearest neighbors
Shorten documentation of perplexity
Compare t-SNE with other manifold learners
Simplify optimization

* remove L-BFGS, gradient descent finds better visualizations (although the cost is often higher)
* learning_rate is a parameter
* learning schedule:
    * initialize embedding with standard deviation 1
    * 100 episodes with early exaggeration
    * 20 iterations with momentum 0.5
    * then switch to momentum 0.8
    * default learning rate is 100, reasonable range is 100-500
Refactoring

* distances -> affinities
* use MACHINE_EPSILON from numpy
* use double precision in binary search
Add first test
Test gradient descent
Test binary search
Add t-SNE to other examples
Add more tests
Use regular expressions
100% test coverage
Remove example with digits dataset
Rename dist to affinities
Modify learning schedule
Fix tests
Explain example
Rename attributes