Added additional options to mlg.filter.

Users can now choose between three algorithms when using mlg.filter:
farthest_neighbor (same as before, now the default option)
nearest_neighbor (much less strict clustering, prone to chaining but useful in some situations)
average_neighbor (uses the average distance between all pairs of points between two clusters)