librustc: Fix field offsets for packed structs.
Add test for passing/getting packed structs with ffi.
auto merge of #16584 : luqmana/rust/psfo, r=alexcrichton

Fixes #16574.