libsyntax/librustc: Allow calling variadic foreign functions.
Allow variadic extern function pointers and don't combine variadic with non-varidiac in typeck.
librustc: Require explicit casts for some types when calling variadic function.
Add tests for variadic functions.