Auto merge of #44908 - nikomatsakis:beta-20170928, r=alexcrichton
Beta 20170928
Backports of:
- Allow unused extern crate again #44825
- macros: fix bug in collecting trait and impl items with derives. #44757
- `--cap-lints allow` switches off `can_emit_warnings` #44627
- Update the libc submodule #44116
- limit and clear cache obligations opportunistically #44269
- clear out projection subobligations after they are processed https://github.com/rust-lang/rust/pull/43999
- fix logic error in #44269's `prune_cache_value_obligations` #45065
- REVERTS https://github.com/rust-lang/rust/pull/43543: Cleanup some remains of `hr_lifetime_in_assoc_type` compatibility lint: