Fix assertion failure when ptrtoint int size is larger

When the int was larger than the pointer size, the saved constant
offset would be the wrong type at the uses, resulting in this failure.

In the added test case for example, the sub i64 ended up with
i32 operands, which would then fail on its use in the icmp.
Add address space assertion to getCastOpcode
Spacing around operators
Irrelevant formatting change
Check address space in isCastable because why not
Add address space assertions in CreatePointerCast
Add tests that will hit CreatePointerCast assertion in one place
Disable CreatePointerCast assertion
Teach InlineCost about address spaces
Support different sized address space pointers in BasicAA
Rename TD -> DL
AsmPrinter
Add address space arguments to MemoryBuiltins
Minor code simplification
Teach MemoryBuiltins about address space pointers
XXX - Use helper in datalayout
Teach SimplifyCFG about address spaces