Inserts a new value into a Binary Search Tree by finding the correct position.
Recursive call stack — O(log n) avg, O(n) worst