Sean Troy has owned 103 BMW X5s. He explains which X5 to buy, which engines to avoid, and what breaks on every generation.