Affine Alignment with tests

Global alignment, Local alignment, Semiglobal alignment with Affine Gap and tests