Added the queue structure

We will need the queue inorder to queue commands when commuicating
with a device.
Added protocol documentation