Some performance improvements.
Try to use bitsets instead of strings.
Possibly faster implementation of 'find_largest_common_substring'.