Refactor TypeContents to be more scrutable. In particular, create coarser bits
than the current ones, which were very fine-grained.  Also, cleanly distinguish
when properties must be found in *owned* types vs *reachable* types.

Fixes #10157
Fixes #10278
Rename misleading contains_managed to owns_managed
Make TypeContents consider the type `T` to be reachable via `*T` pointers

Fixes #9509
Clarify which errors are format string errors

There were a few ambiguous error messages which look like they could have
cropped up from either the rust compiler for the format string parser. To
differentiate, the prefix 'invalid format string' is now added in front of all
format string errors.

cc #9970
fix alignment of pthread_attr_t

Closes #10300
auto merge of #10305 : thestinger/rust/align, r=alexcrichton

Closes #10300
fix some cfail test cases for arm
auto merge of #10306 : alexcrichton/rust/issue-9970-better, r=huonw

There were a few ambiguous error messages which look like they could have
cropped up from either the rust compiler for the format string parser. To
differentiate, the prefix 'invalid format string' is now added in front of all
format string errors.

cc #9970
auto merge of #10314 : ksh8281/rust/fix_some_cfail_test_cases_for_arm, r=yichoi

adding #[cfg(target_arch = "arm")] for asm of cfail test cases
auto merge of #10289 : nikomatsakis/rust/issue-10157-TypeContents-refactor, r=pcwalton

See #10157. This compiles now.

Fixes #10278.
Fixes for compilation to iOS:

- remove /usr/include from the include path since the iOS SDK provides the correct version
- `_NSGetEnviron()` is private and not available on iOS
- `.align` without an argument is not allowed with the Apple tools. 2^2 should be the default alignment
- ignore error messages for XCode < 5
- pass include path to libuv
auto merge of #10227 : kud1ing/rust/ios, r=alexcrichton