SyncedRingbuffer: Add 'reset(boolean full)', simplify 'clear(..)'.

'reset(boolean full)' enables user to reset ringbuffer pointer and assume it's empty or full,
while 'clear()' shall only remove all references .. etc.
Provide unit test for Bug 817