Disable an unsafe optimization on NBA

The same optimization is implemented safely inside InstCombine
Fixed name and minor bug in usageFlagsForCallAndInvoke
Downcasts are now detected by isNopCast if appropriate
Added ReplaceNopCast pass