Issue #3678: Remove wrappers and call foreign functions directly
core => std
Cleanup return logic for Rust fns with foreign ABIs
Correct void/bot return types on x86 32-bit
auto merge of #6661 : nikomatsakis/rust/issue-3678-wrappers-be-gone-2, r=brson

r? @sanxiyn --- I'd appreciate it if you can take a look at the logic for C abis in particular. I added some comments with my best effort to understand what was going on. I hope to come back at some point and clean things up in that regard, since the code as is is written with different assumptions (i.e., that there will be a wrapper and so forth).