Defence minister James Heappey quits in blow for Rishi Sunak