build: Allow disabling maintainer mode

This allows make rules for generated build files (i.e.  configure,
Makefile.in, ... ) to be skipped.  This is useful when
the source is stored without timestamps (for example in CVS or GIT).

When the build rules trigger to regenerate the build files, it tries to
use the same autotools version (currently 1.14) as was originally used
for the release.  Since many of our build machines run Debian Squeeze,
they only have autotools 1.11 available and the build fails.

Currently, we have to work around this by touching all the generated
files before building to avoid triggering the make rule. With this
patch, we would be able to just run configure with
--disable-maintainer-mode instead.  The patch sets the default to enable
to not change the default behavior.
testsuite: Move test-alias to test-util

Move file so we can use the same file to test other functions from
libkmod-util.c
util: Add cleanup attribute
config: Use _cleanup_free_
util: use _cleanup_free_ on path_make_absolute_cwd()
testsuite: add basic test for getline_wrapped
util: Be OOM-safe and use _cleanup_free_
array: avoid duplicate code to reallocate
file: use _cleanup_free_
module: use _cleanup_free and remove useless call to free()