testsuite: Check the list of loaded modules after a test

Add a ->modules_loaded member to struct test, which is a comma-separated
list of modules that should be present after the test finishes. Both
missing and excess modules cause an error.
testsuite: Add test for modprobe --force

There is no check if the correct flags are passed to finit_module, but
at least we cover the respective code path in kmod.
testsuite: Do not provide finit_module(2) on older kernels

If the test's uname -r is less that 3.8, return -ENOSYS from
finit_module(), so that the fallback is tested.
Add some tests for kernels without finit_module(2)
libkmod-module: Simplify kmod_module_insert_module()

Store the file and elf pointer in the kmod_module structure and have it
freed together with the module.