Andrea Dovizioso holds off Jorge Lorenzo and Marc Marquez to win Czech GP