Supermarket shopping can be a chore at the best of times, but at Christmas it can take on a whole new level of inconvenience, with queues, inflated prices and items out of stock.