Fix #8898
repr: print functions as `fn()`
auto merge of #8928 : novalis/rust/fix-8898, r=thestinger

I think this fixes 8898.  I'm a bit unsure about how slices and owned pointers to vectors-of-unit already worked, but since they were already working, I didn't mess with them.
repr: add support for trait objects

Closes #8916
auto merge of #8931 : ILyoan/rust/turnoff_android_ndk_asm, r=thestinger

Now we don't need android ndk to generate unwind info for arm target thanks to LLVM upgrade.
This fix removes the ndk asm pass.
repr: handle tuple structs sanely

Closes #8919
switch __field__ hack to <unnamed_field>

avoids conflict with fields actually named `__field__`
auto merge of #8927 : thestinger/rust/repr, r=huonw