ENH: check for valid 'orientation' kwarg in dendrogram()

fixes #3668
Merge pull request #3696 from andreas-h/gh3668

ENH: check for valid 'orientation' kwarg in dendrogram()
BUG: cluster: _vq should check the dtype before using it
BUG: cluster: _vq unable to handle large features

_vq.vq should initialize outdists to INF but ndarray.fill seems
to treat NPY_INFINITY as an int32 and initialize outdists
as 2 ^ 31 - 1, so that the result may be wrong when the features
are large. Use np.inf to fill outdists would be safer.
MAINT: cluster: use 'ndim' instead of 'rank' in _vq
Merge pull request #3702 from richardtsai/vq_large_features

BUG: cluster: _vq unable to handle large features