A Query that filters by an arbitrary condition

I found myself frequently creating queries that filter by a simple arbitrary condition, so I thought I'd add a more a class that would make it easy to do so. Here are a few examples:
```cs
repo.Find(new FindWhere<Author>(a => a.Email.Contains("@microsoft.com"));
repo.Find(new FindWhere<Invoice>(invoice => invoice.Date >= januaryFirst));
```

The new class support sorting in addition to filtering:
```cs
repo.Find(
    new FindWhere<Author>(a => a.Email.Contains("@microsoft.com")
        .OrderedBy(a => a.LastName, StringComparer.OrdinalIgnoreCase));
```