Fixed broken Bio.pairwise2

The existing implementation of Needleman-Wunsch (and Smith-Waterman, they are backed by the same score-matrix generation function) in pairwise2 did not call the gap-penalty callbacks with the correct opening position during DP. Instead, when asking the gap penalty for position X in a sequence, it would ask for all other positions 0-Y where Y is the position in the other sequence.

This would not become apparent if the gap-penalty callbacks gave the same penalty everywhere in the sequence, but if you wanted to have greater or lesser penalties at different spots (as I do) this creates a major problem.

Here is a demonstration of the flaw: https://gist.github.com/4640508