Avoid allocating return object in EvaluatorPreprocessor_read().

This function can be called 100s of 1000s or even millions of times, and the
allocated return object accounts for 10% of all GC thing allocations for some
documents. It's easy to avoid, which reduces stress on the garbage collector,
and this patch does that.
Merge pull request #4972 from nnethercote/preprocessor-read

Avoid allocating return object in EvaluatorPreprocessor_read().