Keir Starmer has hit back at Donald Trump over his criticism of Britain's decision not to allow its bases to be used in the initial strikes against Iran.