BUG: Remove UTF8 character

UTF8 characters break some IDEs and are hell to debug. We
should never set the encoding of our files
MAINT: remove utf-8 headers

Without encoding headers, Python imports will fail if UTF8 characters
creep in. Thus, they will not go unnoticed.
COSMIT skip some repeated computations in k-means
BUG fix whitespace in error messages

Partial fix for #2380.

Signed-off-by: Lars Buitinck <L.J.Buitinck@uva.nl>
fix: typo - y_pred instead of y_true
Added euclidean_distances_argmin
Chunking on both arrays in euclidean_distances_argmin

Chunking is now possible on both arrays in euclidean_distances_argmin.
The default chunking scheme has been tested for various array sizes, and
seem to be at least as fast as euclidean_distances + argmin invocation,
while using a lot less memory (around 50 times).

At the same time, check_pairwise_arrays has been improved to not copy
arrays that have a np.float dtype.
Improved tests for euclidean_distances_argmin
Wrote docstring for euclidean_distances_argmin
[BUG] safe_asarray() converts sparse matrices dtype

When called with a dtype kw argument, utils.safe_asarray() would
not change the dtype of a sparse matrix. This has been fixed.

Unit tests have been created for safe_asarray().
Used safe_asrray() in check_pairwise_arrays()

This slightly shortens the code.
Change signature of euclidean_distances_argmin()

THe function is passed the number of chunks instead of the number of
rows in a chunk.

Replaced custom code by gen_even_slices()
Added pairwise_distances_argmin()

Similar to euclidean_distances_argmin(), but compute distances
with any metric from scikit-learn or scipy.
Optimized euclidean case in pairwise_distances_argmin
Removed euclidean_distances_argmin

This specialized case is useless since pairwise_distances_argmin has been
optimized for the euclidean case.
Minor code cleanup
Added gen_batches() to utils

This generator is similar to gen_even_slices(), but takes a slice length
as input instead of a number of slices.
Changed pairwise_distances_argmin API

- Chunking is now performed passing chunk size instead of chunk number.
  Default value has been set to 500 after some benchmarking.
- Dropped the "return_distances" keyword (useless)

Tests have been adapted.
Code cleanup in pairwise_distances_argmin
[DOC] Fixed pairwise_distances_argmin docstring