Change the BitcodeWriter/ModuleSummaryAnalysis to save the target of an
alias as the aliasee it points to, instead of the base object the alias
points to, e.g. without recursively dereferencing aliases until a
GlobalObject is reached. This is necessary for interprocedural analyses
that want to conservatively avoid evaluating call paths including
dso_preemptable symbols such as dso_local alias -> dso_preemptable alias
-> dso_local function.
Value::stripInBoundsOffsetsNoFollowAliases() is required to match the
logic of GlobalAlias::getBaseObject() without 'dereferencing' aliases,
its implementation matches that of stripPointerCastsNoFollowAliases().
The current stripInBoundsOffsets*() methods did not document that they
also strip aliases.