Buffer now uses ArrayList instead of LinkedList. Decreases the amount oftime required for a message to be moved from the queue to the buffer.  More succinct, collection.sort() style solution has also been added in comments at the bottom of the class.  This solution looks cleaner but is slower, need to investigate later