Function to cluster a list of SeqRecords

The start of a set of functions that take a list of SeqRecords and
clusters them returning a cluster object.
Support for CD-HIT-EST, CD-HIT-454.

Refactored the CD-HIT commandline classes into a hierarchy to minimize
redefinition of options. Added classes for CD-HIT-EST and CD-HIT-454.