Range-for some stuff related to RegClasses, and comment cases where range-for isn't suitable.
Simplify ownership of RegClasses by using list<CodeGenRegisterClass> instead of vector<CodeGenRegisterClass*>

This complicates a few algorithms due to not having random access, but
not by a huge degree I don't think (open to debate/design
discussion/etc).
Simplify CodeGenRegBank::inferMatchingSuperRegClass & its caller by passing an iterator rather than index
range-for some things