stop treating `Rc` cycles as unsafe
add a strong/weak reference counted pointer type
rename Strong -> Rc, replacing `rc` with `weak`
port over the old tests to the new `Rc`
auto merge of #10926 : thestinger/rust/rc, r=cmr