Cut down amount of calls to _resolve_aliastypes_from_select_args
Misc cleanup, no functional changes
Store the final calculated select args in the original $rs

This is extremely ugly and ineffective, but we need it for some sanity checks
so that 0.08250 can ship. The whole thing needs to be reworked with a new
rsattrs instance, but that's another battle
Explicitly disallow redirection of has_many columns to main object

This can never work in practice, but it is too obscure to have a user catch it
Add (slowish) sanity check to detect incorrect non-nullable metadata

We can't get away with this - the alternative is a cryptic 'Use of uninitialized value'
exception - good luck debugging that