Added Levenshtein Distance.
Added a Levenshtein sort function.
Added code for handling deps and multiple compiles.
Split out code for better testing.

Also added tests.