Implementation of the spelling algorithm as explained by P. Norvig 
http://norvig.com/spell-correct.html