Add Predicate.

Adds a Predicate interface and implementation. Use it like:
```java
Array<MyObject> arr;

Predicate<MyObject> p = new Predicate<MyObject>() {
  public boolean evaluate(MyObject arg0) {
    return (arg0 meets condition);
  }
};

for (MyObject obj : arr.select(p))
  obj meets condition;
```