Added buffer tests.

ExceptionOutOfBounds is now thrown trying to get an invalid index value
from the queue, The user of the model should always check for the buffer
empty state before calling next.

Added the Buffer tests, and updated the makefile and runtest to actually
run the tests