Optimize NameOps

Remove redundant String => Name conversions.
Optimize TreeInfo.{isSelfConstrCall, isSuperConstrCall}

The Applied extractor is convenient, but expensive.
Pre-check if the tree could be a term application first.
Optimize Scope creation

Hoist the needsFlatClasses check out of Symbol#name,
and use `rawName` directly if it false, which is the case
for most of the compiler run.
Fix comment for List.apply optimization
notes
Optimize GenBCode: dealiasWiden rather than normalize
Dealias, rather than normalize in Uncurry's info transformer

And compensate in Erasure by flattening refined types before
synthesizing compound isInstanceOf checks.
Optimize <:<

Compare rawnames before comparing names.