Add CACHEDIR.TAG support.

A new command line parameter allows to filter out directories containing
the proper `CACHEDIR.TAG` file.
See http://www.brynosaurus.com/cachedir/
CACHEDIR.TAG - improve code style and the name of the parameter.

Use a macro instead of the global constant `cachedir_tag_signature`.
Use `memcmp` instead of `strncmp`.
Add `has_cachedir_tag` to exclude.h.

(See http://dev.yorhel.nl/ncdu/bug/30)
Let has_cachedir_tag use `malloc` instead of a buffer on the stack.
Document `--exclude-caches` in ncdu.pod.
has_cachedir_tag: Keep statuc allocated buffer for paths.
Use /**/ comments + minor style change
dir_scan.c: Reset directory sizes when excluded by a CACHEDIR.TAG

Tiny bug fix: The size of an excluded directory entry itself should not
be counted, either. This is consistent with what you'd expect: A cache
directory with thousands of files can easily take up several megabytes
for the dir entry - but from the perspective of a backup system that
recognizes cache dirs - the dir is empty, and therefore shouldn't take
any extra space at all.