Added safe distance check to random seed gen

Moved distance compute to a separate function (need to look at dropping
the sqrt and comparing squared distances instead). Added a check each
time a new cluster seed (after the first) is generated such that, if the
most recently added cluster seed value is too close to any other, it
will have its position regenerated. Need to continue experimenting with
the minimum distance computation.