Reference struct members by name instead relying on their order.
This also simplifies moving back to named members when all compilers
we use support them.
And make them part of the blender_test runner. The one exception is blenlib
performance tests, which we don't want to run by default. They remain in their
own executable.
Differential Revision: https://developer.blender.org/D8498