The Cornish coastal town of St Ives is the happiest place to live in Great Britain, suggests a survey.