Fix Log.hs against my ancient version of GHCI

I don't have the Text.Read module, which is standard in modern GHCI, but
not present in my version, which is about 4 years old now.
Add Exercise 1 solution with epic Vim undo file

This took so much iteration to get working, I decided to make and save
a Vim undo file along with it for posterity. Feel my pain, future-folk.
Remove LogAnalysis.undo

This is only in-sync - and thus only working - for the previous commit.
Add Exercise 2 solution

This is a clear cut case for using filter, but I'm not yet sure how to
filter on algebraic data type constructors.
Add Exercise 3 solution
Add Exercise 4 solution
Add Exercise 5 solution
Add Exercise 6 solution

I'd like to learn how to do things like this without 2 functions.
Add Exercise 7 solution

This is another filter pattern, but I can't use filters with ADTs yet.
Refactor whatWentWrong' with new helper functions

This extracts highSeverity and getLogMsg from whatWentWrong', the former
of which will aid the solution for Exercise 8, as recommended.
Refactor whatWentWrong' to point-free style

Just realized what this was actually doing.
Extract messageContains from messagesAbout

This provides another helper function to ease efforts on Exercise 8.
Refactor messageContains -> msgContains

I'm trying to do some point-free, and this is just too long a name.