Update coherence rules to be more flexible for `impl Trait for Type`
libsyntax: Fix `static` in pretty printer. rs=burningtree
auto merge of #5515 : nikomatsakis/rust/issue-5514-flexible-coherence-rules, r=pcwalton

See issue #5514

r? @pcwalton