Further improve max-length self-test to avoid false positives and catch
even more real problems. This also fixes an older problem: Some formats
depend on all keys being set before calling crypt_all() so now we do call
set_key() for indexes that are otherwise skipped.