Add a `consume` method to SmallIntMap
auto merge of #7679 : alexcrichton/rust/consume-smallintmap, r=thestinger

This allows values to be moved out of a SmallIntMap