Major rework and simplification of convoy

* Remove all old data structures that were generic by using void *
* Get rid of the useless Makefile
* Combine queue.h and stack.h into slist.h
* Replace deque.h with dlist.h
* Use comma expressions for multiline macros in header files instead
  of do/while blocks. This allows us to "return" values from macros
  (finally!) and to mark certain macros as "void"
* Rename splat's link members from {right, left} to {next, prev}.
  This allows someone to reuse the same link for dlist and splat.