Large Deviations For Performance Analysis: Queues, Communication and Computing