First pass of eval removal in favour of predicate/function support.

This is all happening in the quest code now, so it's time to swap those out.
Testing locally with the Shattered City codebase.