Add implementation of standard LCS

the LCS using dynamic programming is used as fallback when the Patience
algorithm is unable to provide the correct LCS.