Add chapter 18 exercises (still missing custom nftw)

@rmscarenhas  :disappointed: 
As a side note, this is a comparison between a signed type (`path_size`) and an unsigned one (`size`). This type of comparison can be pretty dangerous and lead to undefined behavior. In this case you could make `path_size` also a `size_t`, and that's probably what you wanted in the first place.