Begining the work on weak references in Rc: redesign the protocol, define the weak type, and update the code for rc.