Move ?empty to builtins

- This is the first overloaded predicate, so some support needed to be
  added.