Don't allow single-variant enums to be dereferenced. #6246

I'm not sure if this was even intentional at this point.
Don't allow newtype structs to be dereferenced. #6246
rustc: Add error about obsolete struct deref
doc: Fix tutorial for struct deref
doc: Fix an inexplicable error in a tutorial example

This code was wrong but apparently worked before removing struct
deref. I don't know why.
auto merge of #11188 : brson/rust/noderef, r=brson

This removes the feature where newtype structs can be dereferenced like pointers, and likewise where certain enums can be dereferenced (which I imagine nobody realized still existed). This ad-hoc behavior is to be replaced by a more general overloadable dereference trait in the future.

I've been nursing this patch for two months and think it's about rebased up to master.

@nikomatsakis this makes a bunch of your type checking code noticeably uglier.