Initial Fuzzy support

I added initial fuzzy support that seems to work well in simple cases like:

	provider
		.AsQueryable<Entity>()
		.Where(x => (x.Name == "search term").Fuzzy(0.6f))
		.ToList();

	provider
		.AsQueryable<Entity>()
		.Where(x => (x.Name == "search term").Fuzzy(0.6f) || (x.Name == "search term 2").Fuzzy(0.6f))
		.ToList();

However it fails in more complex cases like:

	provider
		.AsQueryable<Entity>()
		.Where(x => (x.Name == "search term" || x.Name == "search term 2").Fuzzy(0.6f))
		.ToList();

I would be happy too see such feature in an official release.