Never expand macros with a hierarchy type scope
Reference#to_s is no longer a primitive: it's done with macros. Also: some fixes related to macros and hierarchy metaclasses. Moved Class logic to "class.cr".
Pointer#null doesn't need to be a primitive