UK Prime Minister Keir Starmer is in Ukraine to sign a 100-year security partnership amid uncertainty over the fate of US support under Donald Trump.