Add basic clustering method to EventTable
Created by: tjma12
This adds a basic clustering method to EventTable objects. The clustering algorithm uses a pooling method to identify points that are all separated in time by less than window. The maximum value point of each cluster is calculated and replaces the cluster.
An example (behind LIGO credentials) of clustering PyCBC Live triggers clustered with a 0.1 second window and maximizing over SNR. Before: https://ldas-jobs.ligo.caltech.edu/~thomas.massinger/plots/test_clustering_unclustered_SNR.pdf After: https://ldas-jobs.ligo.caltech.edu/~thomas.massinger/plots/test_clustering_clustered_SNR.pdf
Unit tests all pass when run from the command line.