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 
Can the comments read "discontiguous, insert is closer to tail, head section" so they match up with the match? Same with the insert method.