Fix memory leaks during "tail -r" of a non-regular file
- Rewrite r_buf to use standard tail queues instead of a hand-rolled circular linked list. Free dynamic allocations when done.
- Remove an optimization for the case where the file is a multiple of 128KB in size and there is a scarcity of memory.
- Add ATF tests for "tail -r" and its variants.