javadoc
Reduce boiler-plate required to add new predicates - resolves #37

added AbstractPredicate - which provides a default implementation of:
public boolean evaluate(Term... args)