Introduction to Distributed Self-Stabilizing Algorithms (Synthesis Lectures on Distributed Computing Theory)