easier way to define custom filters
for https://github.com/GIScience/oshdb/issues/274#issuecomment-721282828 it would be nice to have an easier way to define filter expressions by just defining one or two lambdas, maybe like this:
//Filter.byOSMEntity(Predicate<OSMEntity> f)
FilterExpression e1 = Filter.byOSMEntity(e -> e.getVersion() == 1);
//Filter.byOSHEntity(Predicate<OSMEntity> f)
FilterExpression e2 = Filter.byOSHEntity(e -> e.getId() == 42);
//Filter.by(Predicate<OSMEntity> f1, Predicate<OSMEntity> f2)
FilterExpression e2 = Filter.by(oshEntity -> oshEntity.getId() == 42, osmEntity -> osmEntity.getVersion() == 1);
the internals of this would manage implementing a matching negate
method, and other related bussines.