First attempt at implementing -fsemantic-interposition.
Rely on GlobalValue::isInterposable that already captures most of the expected behavior.
Rely on a ModuleFlag to state whether we should respect SemanticInterposition or not. The default remains no.
This looks like it should be reordered?