I like this a lot, but it also seems to move the in-core btree records and keys to the format header which seems wrong. Maybe those should be centralized in xfs_btree.h instead?