ringbuffer: remove example
ringbuffer: add convenience functions

This patch add `peek` functionality, and empty and full helpers.
ringbuffer: fix parameter types

It is a bad idea to use signed types for lengths.
Mark pointers a `restrict`, since the ringbuffer is not thread safe
anyway.
ringbuffer: remove pointer to the end

There is no need for an explicit pointer to the end of the buffer.
ringbuffer: don't overwrite in `ringbuffer_add`
ringbuffer: add documentation
ringbuffer: add static initializer
tests: add ringbuffer unittest
Merge pull request #1101 from Kijewski/issue-979-2

ringbuffer: versatility and optimizations
Add generic `char` pipe implementation
Merge pull request #935 from Kijewski/add-generic-pipe

sys: Add generic pipe