Ch 04

cc/ @fabioyamate @carlosgaldino.

Please review.
the chapter gives a hint to use `null` function.

```
:t null
> [a] -> Bool
```

can't say if this is the production implementation of `length`, but considering list, in order to know its length you need to traverse all items.

the natural recursive approach is:

```
length [] = 0
length (_:xs) = 1 + length xs
```

while the `null` uses pattern matching

```
null [] = True
null (_:_) = False
```

Used http://www.haskell.org/onlinereport/standard-prelude.html as a reference