My four year old is going through similar issues. Not really anger as much as just that he is very set in routines and certain ways of doing things. If you stray from that, he falls apart and becomes very explosive as you described. I really believe this is an age of testing independence. Things that have helped us --
1. I sat him down and reviewed the rules. We made a list (no more than 4) of the most important rules and he helped me with this. Start with the things that are most a problem (speak politely, keep your hands to yourself, etc.). try to word them in the way of what you want him to do. Also make a list of consequences to go with -- they need to be concrete and meaningful to him -- he needs to understand that if I do A then B happens. If I do A again then C happens, etc.
2. We count (1,2,3) when we ask him to do something or if he is misbehaving. If he does not do as asked before we say 3 he is in time out. We explained to him that this does not apply for hitting or anything that could hurt someone -- those are automatic time outs.
3. I talked to him about why he was acting up (he is with my parents when I am at work, but he does do preschool in the afternoons) and he told me that he misses his friends when he is at my parents house. So, we set up a sticker chart so he can earn playdates with friends on the weekends. He can earn three stickers a day (morning, afternoon, evening). We started fairly easy with the number of stickers he needed to earn the first week and we will slowly progress as he gets better. The key with this is to be very positive about the stickers -- building him up throughout the day, telling him he is doing a good job to earn them etc. and then if he doesn't earn one be very clear about why (and I write the why on the chart to keep track of).
I hope this helps you get started. I have to run now but I hope maybe we can keep in touch and share ideas since I am going through this at the exact same time!
E.