leaky tests

tests are leaking a lot, making it extremely difficult to see if the lib itself is leaking.

there are still a few leaks left...

```
$ valgrind bin/test
==10935== Memcheck, a memory error detector
==10935== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==10935== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==10935== Command: bin/test
==10935== 

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%

==10935== 
==10935== HEAP SUMMARY:
==10935==     in use at exit: 256 bytes in 10 blocks
==10935==   total heap usage: 61 allocs, 51 frees, 1,544 bytes allocated
==10935== 
==10935== LEAK SUMMARY:
==10935==    definitely lost: 184 bytes in 7 blocks
==10935==    indirectly lost: 72 bytes in 3 blocks
==10935==      possibly lost: 0 bytes in 0 blocks
==10935==    still reachable: 0 bytes in 0 blocks
==10935==         suppressed: 0 bytes in 0 blocks
==10935== Rerun with --leak-check=full to see details of leaked memory
==10935== 
==10935== For counts of detected and suppressed errors, rerun with: -v
==10935== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
```