[IRGen] Generate proper TypeLayout for singleton enums (#61966)
* [IRGen] Generate proper TypeLayout for singleton enums
rdar://101587387
Instead of creating a proper TypeLayout, we returned the layout for the singleton case, which caused the tags for the nested cases cases to be returned, instead of the expected `0` for singleton enums.
* Forward destroy, copy calls
* Add some missing forwarding cases