Add chapter 18 exercises (still missing custom nftw)

@rmscarenhas  :disappointed: 
Not sure about the reason you added these conditionals, but I also had problems with the `NAME_MAX`/`PATH_MAX` family of constants. Despite the fact that they should be defined on `limits.h` according to POSIX, it seems this is not the case on glibc (at least not on my Linux and glibc distributions). I've learned these constants can be found, however, on `linux/limits.h`, and I'm including this header whenever the constants I expect do not get defined by `limits.h`.

Not sure I'm missing some feature test macro or any other thing, but so far that has been my approach.