Well, your opponent was wrong; whether he was lying or not is a different issue altogether.
After blockers are declared the active player (the player whose turn it is) gets priority. If that player passes, the nonactive player gets priority. If he passes too, that's the end of having the chance to play spells before damage is dealt. This avoids a sort of back and forth where each player says "you go first."
A step ends when both players pass priority in succession and the stack is empty. Here, since your opponent played a spell, that broke the chain, so you will get a chance to respond after your opponent passes priority back to you (a player receives priority again after playing a spell or activating an ability; the active player gets priority after a spell or ability resolves).
A slight correction: Priority is always done Active Player - Non Active Player after either adding something to the stack or removing something from the stack.
If a player plays a spell during their opponent's turn, their opponent gets priority back first. (I don't think that I've ever seen the scenario of opponent receiving priority back first come up, to be honest.)
This is incorrect.
115.3b The active player receives priority after a spell or ability (other than a mana ability) resolves.
115.3c If a player has priority when he or she casts a spell, activates an ability, or takes a special action, that player receives priority afterward.
So, when something resolves, the active player gets priority. When a player casts a spell or activates an ability, that player keeps priority.