Boris Johnson sacks Michael Gove and vows to stay in No 10 despite cabinet revolt