core: Add lcs() routine

The intent is to use it for pattern matching transaction descriptions
annotate: Add fuzzy matching using longest-common-subsequence

If descriptions are >= 0.75 similar then we use the associated category as
the guess.