Guide: complex data types
auto merge of #15422 : steveklabnik/rust/guide_compound_data_types, r=brson

I'm not happy about the hand-waving around `cmp`, but I'm not sure how to get around it.