A blast ripped through a supermarket in Russia’s St Petersburg, injuring at least 10 shoppers, investigators say.