Add model-queue for queue-playback simulations

Add a model queue implementation which allows items to be added by their
expiry times and the caller to step through the queue on time increments
to remove expired items and state what the depth of the queue was at
that point in time.

This is intended for use in graphs of queue depth (either the meter-bar
graphs or line/area graphs which may be added at some point in the
future).