David Cameron to visit Pakistan