Document member-hiding conventions for structs
We should document whatever conventions we choose for hiding struct members, probably in doc/HACKING. Also we should make tools for searching for violations, e.g., code that directly accesses private members without using the appropriate macros. (A fairly simple Coccinelle script should work for this.)