Added implementation of modified Smith-Waterman Algorithm

I don't have a great handle on Smith-Waterman; can you add a Javadoc explaining exactly what part of the process this class corresponds to? Is this matrix the full m*n matrix entries, or is it smaller?