Features:

* config: configs that do not need to be matched by fnmatch() could be using a
  vector instead of a list. This way we could search in it by calling
  bsearch().

* config: load on demand

* index: drop the "open(), seek(), read()" implementation and use another one
  with mmap(). When lookup() is called and the file is not mmaped, mmap it.

* insmod and rmmod with dependency handling. Maybe this should be done by the
  binary, and it's sufficient to return only the lists from lookups.
  ^-- investigate the best API

* create test-mock library to be LD_PRELOAD'ed before running the binaries
  so we're able to create unit tests

* provide ELF manipulation to implement modinfo

* provide 1:1 compatibility with module-init-tools's modprobe, missing:
   - parse options from kernel command line (modname.opt=val)
   - provide softdeps
   - show modversions (needs elf manipulation)
   - show config (list all known options, install, remove, softdep...)
   - show list (lists all modules known by modules.dep)
   - return install/remove commands for non-modules:
         install nonexistentmodule somecommand
     modprobe nonexistentmodule -> runs somecommand

* Add coding-style.txt