MurTree: Optimal Classification Trees via Dynamic Programming and Search