Pick centers in KMeans++ with a probability proportional to their distance^2, instead of simple distance, to previous centers
Apply to KMeansIndex KMeanspp the same modification as in HierarchicalClusteringIndex
As some processed distances are already ^2, use template to select whether or not we have to ^2 in KMeanspp
Move templates in dist.h in order to share them between KMeansIndex and HierarchicalClusteringIndex classes.
When a cluster is empty for KMeans, it's better to give it the point from another cluster j that is the furthest one from center j.
Avoid obtaining several identical dimensions between two LSH sub-vectors by choosing orthogonal sub-vectors.
Fix a heap issue with static on Windows
Merge remote-tracking branch 'upstream/2.4' into LshOrthogonalSubvectors
fix tiled read for reading tiles into partial blocks in image
Updated cloud io functionality - removed dependency from VTK legacy
More proper OpneCv+Qt+Vtk issues handling (http://code.opencv.org/issues/3492)
cloud collection merges data only on rendering
fixed size_t/int conversion warnings
proper render call order (fixes some issues with VTK6.1)
default meshlab background
Fixed all OpenGL issues for Macos (via objective-C++ layer)
cloud collection finalize
casting Vec3b operator for viz::Color
Fix reading of 16-bit TIFF images on big endian host.

Use correct integer types for arguments to TIFFGetField to avoid corruption
of values and failed loads of TIFF file when using cv::imread().

Added test where both big and little endian TIFF files are read using imread().

Fixed build of 3rdparty libtiff on big endian hosts.

Reduced memory required during decode_tile16384x16384 test by not converting
large grayscale test image to color image during read.
Fix Windows build of grfmt_tiff.cpp by using libtiff's integer types.