Better handle the 0 sized memory in RingBuf.
Move reserve back to being additional elements rather then a size.