Fixed cluster detection

Made GetNeighbors not return OriginBlock.

Rewrote ClusterDetection and renamed it. I'm not sure what I was
thinking when I wrote that first iteration...
Docs and reworking of GetClusters

Added documentation to some functions.

Rewrote GetClusters to not make a cluster every single block.
Merge algorithm done

Merging clusters are more or less done. Now, on to the little details
and debugging! ...Fun times.