Free pieces of the parse tree once converted to the AST to reduce peak memory

Peak memory usage occurs immediately after building the AST, because at
this point we have both the parse tree and the AST in memory at the same
time. To decrease the peak memory usage, this patch deletes the subtrees
of the parse tree that have finished being converted to the AST. This
means that as the AST is growing, the parse tree is shrinking, resulting
in a much lower peak usage.

As evidence, before this change, Fedora CIL policy had a peak memory
usage of about 460MB. After this change, peak usage drops to about
260MB.

Signed-off-by: Steve Lawrence <slawrence@tresys.com>