Implement basic logical operations on predicates.

If we're going to be having predicates about it'd be good to be able to perform
logical operations on them. This commit provides the equivalent of NAND, NOT,
AND and OR.

Signed-off-by: Brian L. Troutwine <brian@troutwine.us>