Add Promise.filter

Add filter method to Promise, and a Predicate interface to F.