extra::ringbuf: Implement method `.swap(uint, uint)` just like vector

RingBuf::swap(&mut self, i, j) swaps the element at indices `i` and `j`
if both elements are in bounds, otherwise it fails.
auto merge of #9520 : blake2-ppc/rust/ringbuf-swap, r=thestinger

extra::ringbuf: Implement method `.swap(uint, uint)` just like vector

RingBuf::swap(&mut self, i, j) swaps the element at indices `i` and `j`
if both elements are in bounds, otherwise it fails.
Remove the printf{,ln}! macros

These are deprecated in favor of print{,ln}!
Update the compiler to not use printf/printfln