arePointsInOrderColinear: This returns true is:
middle point is epsilon close to start or end
Otherwise:
if the start is EPSILON close to the end, return false
if |(start to midle unit vector) dot with (start to end unit vector) - 1| > EPSILON
return false
else return true