Update lab3.c

The queue functions need to be reworked in order for my solution to work.

What I added:
 a queue in each device. 
 a priority system for task code in control, along with initializing all devices
 a check to see if the queue is full in the IRH
 the isFull() method
 the isEmpty() method