Change self-test so it detects problems like the OpenVMS one that
was fixed in 84ff14a (valid failed unless init was called first).

prepare(), valid() and split() are supposed to not rely on init()
being called first. A kludge had to be added for thin dynamic
formats. This is a bug in dynamic that should be fixed instead.