Implemented the multiple sequence alignment method based on residue numbers.
This is the new msa_residue_numbers() function in the lib.sequence_alignment.msa module. The logic
is rather basic in that the alignment is based on a residue number range from the lowest residue
number to the highest - i.e. it does not take into account gaps in common between all input
sequences.