Turn old `drop` blocks into `Drop` traits
auto merge of #5155 : bstrie/rust/dedrop, r=pcwalton

This removes all but 6 uses of `drop {}` from the entire codebase. Removing any of the remaining uses causes various non-trivial bugs; I'll start reporting them once this gets merged.