Large deviation theory for queueing systems