Add solutions for chapter 5.

@fabioyamate, @laurocaetano I'm so sleepy that I don't remember where I had to change on the last exercise, haha.
when I did the exercise I considered to write a function for upper letters, but dropped when I created a function:

`int2lower`, `int2upper` and the duals.

but I was considering again if it would be preferable since you write tiny usable functions. I did also considered a function with a second argument to use as an offset

```haskell
int2let n offset = chr (n + ord offset)
```

but It didn't look good....