Cache the returned result of isPOD

So multiple evaluations don't recursively check all fields on each evaluation.