File search sorts for best matches

Makes it so searching for "abc" will put "abc.txt" before "a1b1c1.txt" in the results list, etc. It's also faster than the old method, though still kind of slow on extremely large projects. I don't have any C# experience so this might be really messy? Lemme know if something needs to be cleaned up.