Factor out the title keyword identification from the search method so
that the logic can be reused when calculating the score
Implement some title ranking which is not dependent on Levenshtein
matching.

Include the rankings in the output from cli_main
Move a number of the helper functions that don't need to be class
methods out into the utils module