Fix a bug with SILBoxType’s generic arguments
The set of SILBoxType’s generic arguments should be canonical, otherwise getCanonicalType() produces wrong results.
It does not contain a reduced test-case, because the actual bug happens when compiling the stdlib on one of the experimental branches and requires a rather complex setup. I'll try to provide a test-case later.
Resolves one of the issues in rdar://31603112