Fix container_of macro

offsetof needs to be redefined for some reason.  Apparently it was
returning a pointer.
Remove list_head* casts

Code no longer depends on list-partipating structures being castable to
struct list_head.