Lift restriction on calling extern C functions, and propagate
the ABI as part of the type of an extern fn. cc #3678
auto merge of #6309 : nikomatsakis/rust/issue-3678-type-of-extern-fns, r=nikomatsakis

Lift restriction on calling extern C functions, and propagate the ABI as part of the type of an extern fn. cc #3678