Publix ranks high in customer satisfaction; Walgreens and CVS are most popular pharmacies