[breaking-change] SimplifyGEPInst: take the source element type of the GEP as an argument.
[breaking-change] gep_type_{begin,end} now take source element type and address space.
[breaking-change] DataLayout::getIndexedOffset: take source element type instead of pointer type.
GEPOperator: provide getResultElementType alongside getSourceElementType.
ConstantFoldInstOperands: add a form taking the Instruction or ConstantExpr for GEPs.
GEP: replace getPointerElementType uses with get{Source,Result}ElementType.