Bio::Cluster::SequenceFamily - bug fixes and performance

* fix bug when accessing the Bio::Species object. If a Bio::Seq object
  had no Bio::Species information, can('species') still returned true
  but the method would then return undef, and give an error next.
* when using multiple criteria, objects matching more than one criteria
  would appear repeated. Not anymore.
* if for some reason there's two equal objects on the family (same
  reference), they will also appear only once in the results.
* some improved performance is expected for large families when using
  multiple criteria now.