Asda has been forced into a huge shake-up after being slapped with a £500,000 fine for selling out-of-date food.