Adds fatal errors for any target that does not support the Tiny codemodel.
Not 100% sure what the best way to do this is. Commoning the getEffectiveCodeModel function into single place seems like a sensible idea, but where that function goes I'm not sure of.
Split out of D49673
What about adding something explicit such as: "Targets which support the tiny/kernel code models or require more complex code model selection logic should implement and call their own variant of this function."?
Makes it clear to anyone looking at it that there's not an extension point they're missing - the intended approach is just to go and implement your own version.