Name Calling

This is my first post here. My husband is not diagnosed but both he and I believe he has ADHD. I'm trying to deal with symptoms, one being hurtful name calling when he gets frustrated. This applies to both me and his mom. For example, two days ago we were going to go pick up our car from the shop. I had asked him if he had his wallet, and then got distracted by putting our dogs outside. As we walked into the garage I asked him again if he had his wallet and he responded "Are you okay?" And I was like "Yeah, I am..." not realizing I had asked the question twice. He proceeds to think something is seriously wrong with me mentally just because of a simple distraction. I try to explain to him why I had asked the question and that I think it's a normal human response and all of a sudden he's on the defense saying I was being a jerk and for taking things the wrong way (which maybe I was?) but all the while saying I don't think it's rude to ask a question twice and it doesn't mean that I'm not listening to you, I was simply doing a couple things at once. Anyway this escalated his behavior where he says "well if you think that, you're an idiot!" 

He's called me and his mom idiot, crazy, stupid, unintelligent, unattractive, jerk in instances where I feel I am trying to handle the situation in a calm and mature way and just because I'm not thinking the same way he is he thinks that's the only logical conclusion. Anyway, the name calling is hard on the self esteem and I feel is highly disrespectful behavior to me and his mom. I've told him I don't tolerate name calling, but he just justifies that "well that is the only thing I could do because of the way you were treating me!" It's even more hurtful when 15 minutes later, he's seemingly processed all these negative emotions away and comes to me saying "I love you" and all I can do is stare at him like....do you even realize what an emotional bomb you just dropped and you think I'm okay literally 15 minutes after that? It blows my mind.

With this context, what boundaries can I set to actually help combat this barrage of hurtful names? Anyone experiencing the same