British Airways has announced it will stop serving free snacks on short-haul flights.