Generate: add test to check KV format
# What does this PR do?

This PR adds a test to ensure our `.generate()`-compatible models have a standard KV cache format. Advanced generation methods (e.g. contrastive search or assisted generation) rely on cache manipulation, so it quickly becomes unmanageable if we don't stick to a conventional format (or a set of conventional formats). 

I expect that future non-standard KV formats will have to be well justified in PRs, since it will now imply skipping this test.
_The documentation is not available anymore as the PR was closed or merged._