Chancellor Rishi Sunak has announced a surprise vote on foreign aid in an attempt to head off an ongoing Tory rebellion over the decision to cut the UK’s international development budget to offset pandemic spending.