Add syntax for negative implementations of traits

This commit introduces the syntax for negative implementations of traits
as shown below:

`impl !Trait for Type {}`

cc #13231
Part of RFC #3

r? @nikomatsakis