Add testvalgrind make target for checking for memory leaks

Suggested usage:
  $ make clean && make testvalgrind

Sample output (the "still reachable" bits - as far as I understand -
should be normal and come from the libraries):

...
==35596== HEAP SUMMARY:
==35596==     in use at exit: 29,323 bytes in 379 blocks
==35596==   total heap usage: 463 allocs, 84 frees, 35,443 bytes allocated
==35596==
==35596== LEAK SUMMARY:
==35596==    definitely lost: 0 bytes in 0 blocks
==35596==    indirectly lost: 0 bytes in 0 blocks
==35596==      possibly lost: 0 bytes in 0 blocks
==35596==    still reachable: 4,244 bytes in 4 blocks
==35596==         suppressed: 25,079 bytes in 375 blocks
==35596== Reachable blocks (those to which a pointer was found) are not shown.
==35596== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==35596==
==35596== For counts of detected and suppressed errors, rerun with: -v
==35596== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 148 from 49)