Longest common substring

A work in progress.