Australia's second-largest city Melbourne has been rated the world's best city to live in, and Mumbai one of the worst, according to a new survey.