Fundamentals of Queueing Networks: Performance, Asymptotics and Optimization