A more efficient condition engine.

This definitely takes a ton less memory. It should also perform better,
particularly when the condition filters out a large number of values. It's a
shame checking for existance has such a deep callstack though.

Going to have to spend time performance testing it, but want to wait until
the query cache makes it back in.