Exercise 3.5: Implemented setHead with tests.
Exercise 3.6: Implemented the init function with test.

And added some docs/comments.
Exercise 3.9: Compute the length of a list using foldRight.
Refactored ListSpec.
Added test for a large list.
Exercise 3.10: Implemented the tail-recursive foldLeft function with tests.