Attributes: Check declarations for dereferenceable bytes
This will allow tablegen to start directly marking intrinsics as dereferenceable in a useful way. Not sure if callsites should override or use the max.
f18 current ignores attempts to initialize (with =expr) things that are not objects, or allows meaningless initializations of things that have mistakenly been promoted to be objects. Fix by refusing to promote to objects names that have any attributes that cannot be applied to objects, and then catch data initializations of symbols that are not objects.