Completed predicate_utils (for now).
- Added tests for predicate_utils.
- Predicate utils now checks for comparisons with columns that don't
  exist and comparisons with incompatible types. Errors are outputted
  with erlang:error/1, although this may be changed in the future.