Update notes: Chapters 1, 2, and 4 updated on Sep 3, 2018; Chapter 5 updated on Sep 12, 2018; Chapters 6 and 7 updated on Feb 19, 2019; Chapter 8 updated on May 13, 2020; Chapter 9 updated on Oct 11, 2021; Chapter 3 made independent on Jan 2, 2023; Chapter 10 updated on Oct 18, 2023.