Sema: Fix access control regression with generic type aliases
If a property had an inferred type that is a generic type alias,
we weren't checking the access level of the generic arguments.
This used to work in 4.1 because we didn't have a sugared
representation for generic type aliases, so we were checking
the substituted underlying type here. But now that NameAliasType
can store generic arguments, make sure we visit them here.
Fixes <rdar://problem/40188409>.