set sret attribute as needed on call instructions

Since function pointers do not carry along the function attributes with
them in the type, this needs to be set on the call instruction itself.

Closes #9152
rustc/rustpkg: Use a target-specific subdirectory in build/ and lib/

As per rustpkg.md, rustpkg now builds in a target-specific
subdirectory of build/, and installs libraries into a target-specific
subdirectory of lib.

Closes #8672
auto merge of #9151 : catamorphism/rust/rustpkg-target-specific-subdirectory, r=brson

r? @brson As per rustpkg.md, rustpkg now builds in a target-specific
subdirectory of build/, and installs libraries into a target-specific
subdirectory of lib.

Closes #8672
auto merge of #9158 : thestinger/rust/extern, r=alexcrichton

Since function pointers do not carry along the function attributes with
them in the type, this needs to be set on the call instruction itself.

Closes #9152