This adds a new `DNA_print.hh` header which contains functions to print DNA
structs with all their data members in a human readable form. This is intended
for debugging purposes.
The basic usage is very straight forward: `DNA_print_struct(TypeName, data);`.
For example: `DNA_print_struct(bNode, node);`.
There is also `DNA_print_structs_at_address` which is primarily useful when
debugging what is written to a .blend file.
This was originally developed for #133063, but is already quite useful on its
own.
Pull Request: https://projects.blender.org/blender/blender/pulls/133432