Implement remove for RingBuf

Includes a fix for a small mistake in `fn insert` which is caught by test_insert for len=15, but not len=7.

Part of #18424

r? @Gankro @csherratt @huonw 
I believe this needs to be a `wrap`ped, because we might be deleting the tail itself, and the tail may have been at the end of the array.