llist: Add a C++ wrapper for linux_list

This commit adds the LListHead class which is a wrapper around the
linuxlist. It adds an additional member to refer to the container,
since the container_of macro doesn't work properly with C++ classes.
All functions and macros from linuxlist.h are support except for the
entry macros (e.g. llist_entry, llist_for_each_entry, ...). To access
the container (entry), an entry() method is provided instead:

  llist_for_each(pos, &elems) {
      pos->entry()->do_something();
  }

Sponsored-by: On-Waves ehf
diff --git a/tests/testsuite.at b/tests/testsuite.at
index f1f4032..1cadcd2 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -36,3 +36,10 @@
 cat $abs_srcdir/ms/MsTest.err > experr
 AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/ms/MsTest], [0], [expout], [experr])
 AT_CLEANUP
+
+AT_SETUP([llist])
+AT_KEYWORDS([llist])
+cat $abs_srcdir/llist/LListTest.ok > expout
+cat $abs_srcdir/llist/LListTest.err > experr
+AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/llist/LListTest], [0], [expout], [experr])
+AT_CLEANUP