Virgin Media fined £28 million over 'deliberately dropping calls' and putting people on hold 'for no reason' when they tried to cancel