Solved 4.7 find the first common ancestor of two nodes in a binary tree (not BST).
NOTE: find two paths (stacks of nodes) first, then find the last node before diverging
COMPLEXITY: O(n) time, O(lgn)/O(h) space