syntax: Fix a missing closing code tag in docs.
syntax: improve the spans of some #[deriving] traits.

This makes error messages about (e.g.) `#[deriving(Clone)] struct Foo {
x: Type }` point at `x: Type` rather than `Clone` in the header (while
still referring to the `#[deriving(Clone)]` in the expansion info).
Add autogenerated tests for the spans of various derived traits.
auto merge of #11834 : huonw/rust/deriving-spans, r=alexcrichton

I'd forgotten to update them when I changed this a while ago; it now displays error messages linked to the struct/variant field, rather than the `#[deriving(Trait)]` line, for all traits.

This also adds a very large number of autogenerated tests. I can easily remove/tone down that commit if necessary.