David Cameron resigns following EU referendum result