generalization of aligner functions to support aligning alignments

The global aligners can now align pairs of sequences, pairs of alignments, or a sequence and an alignment. This is useful in progressive multiple sequence alignment.

Fixes #550.
We had discussed this in the past - this is cleaner as it's not clear whether ``len`` would refer to the sequence count or the sequence length.