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/.gitignore b/.gitignore
index 4ae71da..b093692 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,6 +37,7 @@
 tests/tbf/TbfTest
 tests/types/TypesTest
 tests/ms/MsTest
+tests/llist/LListTest
 tests/emu/pcu_emu
 tests/testsuite
 tests/testsuite.log