add T& front() and void pop() capabilities to spsc_queue

User might want to pop elements conditionally, based on the value of the element. This PR makes possible to peek into the queue via front() and pop a single element from the front of the queue using pop().
add a note and an assertion that `read_available() > 0`