Ast: Binary now handles its own merge. merge_tree is now merge_val.
Ast: Binary now handles its own merge. merge_tree is now merge_val.

The only time the binary case of merge_tree would be true is if a binary was
being merged...which is only in one place. So it was put with the binary op
push.
This makes it so the binary case no longer has to check for active being NULL,
which is impossible since a binary op ALWAYS comes after a value of some sort.
Also, the non-binary op cases now no longer have to check for the tree being
a binary op for acting. This also completes the breakaway from merge_tree
which tried to handle everything and was really long.

There should be a speed gain from the binary case not needing to jump into
merge_tree anymore, and the other stuff too.

jesserayadkins/lily,FascinatedBox/lily,FascinatedBox/lily,FascinatedBox/lily,FascinatedBox/lily,jesserayadkins/lily,jesserayadkins/lily