ENH: cluster: rewrite and optimized `vq` in Cython

Rewrite the underlying part of cluster.vq in Cython.
Besides, an optimized algorithm is implemented and it will improve the
performance for datasets with large nfeat when built with an optimized
BLAS library.
BLD: Bento build scripts for new cluster._vq
MAINT: cluster: rewrite vq with fused types and BLAS Fortran ABI
MAINT: cluster: avoid copying when dtype is the same in vq
Merge pull request #3683 from richardtsai/vq_rewrite

ENH: cluster: rewrite and optimize `vq` in Cython