Clean up mesh generated from overlapping curves
Being in face selection mode select the trunk with L, press Space and type Intersect. Unselect it, then select a branch and hide it (H). Delete all the faces inside the intersection edge, unhide the branch (Alt+H) then join verices to create a clean topology. Then remove the rest of the branch's vertices. Finally remove doubles (W-->Remove Doubles).


Result: