Store KL divergence after optimization in t-SNE

This PR is based on #3422 from @joker0x5F5F and fixes [this issue](http://datascience.stackexchange.com/questions/762) which unfortunately has not been reported here ;)

Additionally, I renamed the `error_` to `kl_divergence_` because error is a term that might confuse users (maybe cost would be a better name?) and added a test that requires the attribute `TSNE.kl_divergence_`.