bmw m3 generations