Explain B-tree insertion, including splits and the root special case.