Add API for projection pushdown on the cascading scheme level

After adding this API, projection pushdown can be done more "naturally", which may benefit scalding. The code that uses this API would look like:

```
Scheme sourceScheme = new ParquetScroogeScheme(readClass).withProjection(projectionFilter);
 Tap source = new Hfs(sourceScheme, PARQUET_PATH);
```


we actually never refer to "predicate pushdown" in the code, so lets call this `setFilterPredicate` ?