Set the floating flag before removing the cache entry from the queue
Use a better list implementation from CCAN

This is based off the linked list implementation found in the Linux kernel.
It performs no branches while adding items, which is pretty cool.
freegeoip: Make sure job thread is initialized before creating cache
Use list.h in job thread
Add TODO items