while most of these descriptors would apply to the majority of three year olds at various times, it seems that you are facing a constellation of difficult to manage moods and behaviors. I would hesitate to jump to any conclusions that your son has a particular disability, but that does not mean that he is not having a rough time and making you exhausted.
I would recommend you seek a consultation with a psychologist who specializes in young children. The psychologist may or may not recommend formal testing (you can check out my Medhelp article on developmental assessments for more information). Most likely he or she will recommend some form of psychotherapy to help alleviate these problems. I would recommend you pursue psychotherapy that includes a heavy focus on teaching you to manage these behaviors effectively (known as parent guidance, parent management training, parent effectiveness training etc.). When working with young children, most of the change comes from helping the parents to communicate better with their children, be proactive instead of reactive, and to use effective, non-punitive forms of behavior management. Individual play based therapy is a nice supplement, though I personally recommend focusing on the parent coaching first. Ask your pediatrician for a referral.
I've had similar problems, thanks for the tips.