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
decrease input size for several gpu tests to fix "timed out" error:

* BruteForceNonLocalMeans
* OpticalFlowBM
Fixed Cl.exe hang for VS2008 x64 with Eigen::exp() function
Merge pull request #2309 from Nerei:fixed_cl_exe_hang_with_eigen
Merge pull request #2308 from jet47:gpu-tests-timeout
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)