SI-7492 Remove -Ystruct-dispatch and associated code

This means that the private option is gone as well as the untested
code for no-cache and mono-cache and the non-working code for
invoke-dynamic.

poly-cache is now always used. For the future it probably makes more
sense to let the backend decide how it wants to treat structural
dispatch instead of allowing the user to “mix and match” backends
with structural dispatch implementations.