Fixed failing test, retrieveFirstMessage returns the first message in
the queue. Created a LinkedList to hold Instruction Messages.

Refactored existing methods to remove the manual working out of size to
use LinkedList size method instead. 

Added failing test, when 2 instruction messages are added, one with low
priority and one with high priority, the message with high priority
should be at the head of the queue.