Add src/libreset to include directories

in preparation for moves
Move ll.{c,h} to subdirectory, renaming ll.c to base.c
Move avl.{h,c} to subdirectory
Rename avl.c to base.c
Remove contents which will go into common.c
Add base.c to CMakeLists.txt
Add missing static keyword
Rename avl.c to common.c
Remove contents which will go into base.h
Add common.c to CMakeLists.txt
Pull in two versions of a file

This merge commit is a hack to duplicate a file while preserving the
history of the file's contents.
The idea is to move the file to two different places, which is only
possible in two different branches. That branches are then merged,
resulting in a merge conflict.
This gives us the opportunity to select both versions of the file, both
still having the full history --at least, according to git blame.

Previous approaches which tried to do the same in a single branch using
reverting commits did not yield the same result, as git considered one
of the files as a newly inserted file.
The branching technique has the disadvantage of breaking the linearity
of the history, however it was the only possibility to achieve the
wanted result without hacking together a commit manually and feeding it
to git, hoping not to break the repository.

Conflicts:
	src/CMakeLists.txt
	src/libreset/avl/common.c
Pull header from common.c
Remove implementation from header
Use new header common.h in base.c
Remove forward declarations from source file
Pulling in a header pulled from the source of a file

Same hack, again.

Conflicts:
	src/libreset/avl/common.c
Include common.h in the corresponding source file
Fix inclusions in linked lists
Move ht implementation into subdirectory
Fix CMakeLists.txt