leaky tests

tests are leaking a lot, making it extremely difficult to see if the lib itself is leaking.

```
$ valgrind bin/test
==10720== Memcheck, a memory error detector
==10720== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==10720== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==10720== Command: bin/test
==10720== 

list_t: 40
list_node_t: 24
list_iterator_t: 16

... list_node_new
... list_rpush
... list_lpush
... list_find
... list_at
... list_remove
... list_rpop
... list_lpop
... list_destroy
... list_iterator_t
... 100%

==10720== 
==10720== HEAP SUMMARY:
==10720==     in use at exit: 928 bytes in 33 blocks
==10720==   total heap usage: 61 allocs, 28 frees, 1,544 bytes allocated
==10720== 
==10720== LEAK SUMMARY:
==10720==    definitely lost: 544 bytes in 17 blocks
==10720==    indirectly lost: 384 bytes in 16 blocks
==10720==      possibly lost: 0 bytes in 0 blocks
==10720==    still reachable: 0 bytes in 0 blocks
==10720==         suppressed: 0 bytes in 0 blocks
==10720== Rerun with --leak-check=full to see details of leaked memory
==10720== 
==10720== For counts of detected and suppressed errors, rerun with: -v
==10720== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
```