Calorie labels on restaurant and takeaway food do not reduce how many calories people buy or eat, a new study has suggested.