Show impl for Weak

Show impl for Weak and tweaked the Show impl for Rc for consistency
It is only being used as an implementation detail of `Deref`. I.e. `Deref` is ensuring that the interface is being used correctly (duplicating it just makes it harder to verify), users of `Deref` do not need to care about it.