which bmw m3 is the best