fix memory leaks; two unfreed blocks remain...

==31549== HEAP SUMMARY:
==31549==     in use at exit: 24 bytes in 2 blocks
==31549==   total heap usage: 25 allocs, 23 frees, 2,084 bytes allocated
==31549==
==31549== 16 bytes in 1 blocks are indirectly lost in loss record 1 of 2
==31549==    at 0x4A0887C: malloc (vg_replace_malloc.c:270)
==31549==    by 0x400A6D: bel_new_ast_node_value (bel-ast.c:29)
==31549==    by 0x435476: parse_term (parse-term.c:27175)
==31549==    by 0x4459FE: main (bel-parser.c:42)
==31549==
==31549== 24 (8 direct, 16 indirect) bytes in 1 blocks are definitely
lost in loss record 2 of 2
==31549==    at 0x4A0887C: malloc (vg_replace_malloc.c:270)
==31549==    by 0x400A5F: bel_new_ast_node_value (bel-ast.c:28)
==31549==    by 0x435476: parse_term (parse-term.c:27175)
==31549==    by 0x4459FE: main (bel-parser.c:42)
==31549==
==31549== LEAK SUMMARY:
==31549==    definitely lost: 8 bytes in 1 blocks
==31549==    indirectly lost: 16 bytes in 1 blocks
==31549==      possibly lost: 0 bytes in 0 blocks
==31549==    still reachable: 0 bytes in 0 blocks
==31549==         suppressed: 0 bytes in 0 blocks