David Cameron lost his temper and snapped at Kate Garraway while answering questions about immigration and the EU this morning.