Gone through this once, working on the second time.  Ds7 started this around four years old.  It didn't end until it reached the point that I took every single toy out of his room.  Then I sat down and explained why it was important to be respectful of other people.  I told him he could ask questions, but they had to be polite and respectful or I wouldn't discuss it with him.  Then I made him earn back every single toy one at a time.  He got the opportunity to earn one toy at the end of a day IF he had been good, and IF he did a chore of my choosing.   We had a massive pile of toys cluttering up my bedroom for MONTHS before he finally got them back.  He still gets a bit of an attitude once in a while, but he has learned to control it better than he did.  Of course, now we're starting the same process with my 4 year old.  Sigh....I'd like to say I feel more prepared this time, but every  time I say that I'm wrong.  
Don't worry, you're not alone.  And it does get better....eventually....although I don't think it will ever go away completely.