Add Exercises 8.4, 8.5.
Add Exercise 8.6.
Add Exercise 8.7.
Add Exercise 8.8.
Add Exercise 8.9.
Add Exercise 8.10.
Add Exercise 8.11.
Add Exercise 8.12.
Add Exercise 8.13.
Add Exercise 8.14.
Add Exercises 8.1, 8.15.
Add Exercises 8.2, 8.16.
Write convenience functions in a separate file.
Change some exercises to use util functions.
Add Exercises 8.12, 8.17.
Add Exercise 8.18.
Add Exercises 8.20, 8.21.
Change exercises from PS 8 to use util functions.