Separate gap scores and non-mutual alignment.

 * Added another gap score argument to align so that the sequences
   can have individual gap penalties.

 * Added support for non-mutual alignment where gaps are only allowed
   in the second sequence.