encode trait lifetime params in metadata to allow cross-crate usage
auto merge of #10813 : dwrensha/rust/xcrate-lifetime-param, r=huonw

Before applying this patch, the included testcase fails with:
```
src/test/run-pass/xcrate-trait-lifetime-param.rs:20:10: 20:28 error: wrong number of lifetime parameters: expected 0 but found 1
src/test/run-pass/xcrate-trait-lifetime-param.rs:20 impl <'a> other::FromBuf<'a> for Reader<'a> {
                                                              ^~~~~~~~~~~~~~~~~~
```

There's another example in my comments to #10506.
Fix comment on ast::DefStruct
auto merge of #10866 : ktt3ja/rust/edit-doc, r=huonw

A comment that I previously added to ast::DefStruct is incorrect. Here's the modification.
Accept unsugared docs in missing-doc lint

Closes #10853
auto merge of #10867 : sfackler/rust/unsugared-doc, r=huonw

Closes #10853
Renamed Option::map_default and mutate_default to map_or and mutate_or_set
Changed parameter order of map_or and mutate_or_set to be true to the
function name.