The tvm_tree structure should optionally be able to keep track of values
associated with the strings by which its nodes are sorted. In the case of
defines, this is the replacement string. In the case of variables, this
will be a pointer to the variable's location in memory.
Searching should return the value, or NULL.
To opt out of storing a value, pass NULL and 0 as the val and len arguments.