fixed major buffer overflow problems with fifo

for both read and write operations we were memcpy'ing
over the buffer boundary when the read pointer was
close to the edge of the boundary and the amt
read/written was enough to cause it to wrap.
forgot to add valgrind suppression file