Fix incorrect documentation.

Function prototypes are optioanl in C, but they are mandatory in C++.
Omitting them results in a compiler error.
add_directories(): Allow for library overrides.

If two libraries have the same name but are placed in different paths,
only the first one will be used.
add_directories(): Improve documentation.

Added a detailed description and minor code comment.