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'm not sure what exactly you're picturing. Feel free to do anything you believe improves code quality :)