Assaulting shop workers to be made separate criminal offence after government U-turn