Support for configuration files (libconfig).
A lot of command line options have been moved to the configuration file.
Configuration files enable (or at least make it a lot easier) to store
benchmark configurations, which helps to reproduce them. They can also
hold comments about settings, and why they are chosen. Some options
present in the configuration file format are not yet present, but the
ones that are supported are all printed when -i is passed to adhd.

The Makefile has also been modified, of course to include the new
library dependency, but other changes include the new name for the
executable (was arraywalk, is now adhd), compiler-sensitive warning
selections (if compilers start to warn about warning flags they don't
understand, output gets messy :D), pkg-config is used for the libconf
compilation flags, the valgrind target now uses a proper configuration
file because a lot of the command line options are dropped.

Other changes include the new option structure layout: the fields aren't
constant anymore because it made not much sense in the current program
design. Functions that take the options structure as an argument now
declare it as constant as a whole. The log FILE* was removed (which was
a TODO) as it doesn't make a lot of sense in this multithreaded version.
Dynamic memory allocation is now also removed, which renders the
options_free function obsolete, so it was removed.

The CSV logger now also checks whether its FILE* is null before writing
to it, which removes the need for checks before calling that function.

Finally, the default configuration is now generated using libconfig,
which enables partial config files to be loaded, leaving fields it
doesn't specify at their defaults. The final configuration is then
transformed to the old options structure, which finalizes the results.
Otherwise clients of the options infrastucture would be burdened with
error checking, which now can be added during the conversion between
config and options.

Also ...
This must be the longest commit message I ever wrote in my short history
of developing software. :D