librustc: Remove common fields and nested enums from the language
auto merge of #5602 : pcwalton/rust/common-fields, r=brson

r? @brson