Chapter 5 - List comprehensions

These are the solutions for the fifth chapter. I had lot of fun solving these problems, especially the exercise number five.

PS.. I didn't like the solution for the eighth exercise, mainly the `let*2int` and `int2let*` functions. I tried to make just one function, but I had no success. I'll try later this week.

@fabioyamate @carlosgaldino
just remembered the implementation that use to solve this code jam problem https://github.com/fabioyamate/programming-in-haskell/pull/5/files#diff-63ecdebc9f2f32456d68627b6930ccffR4