R.C.
Well, I"m going to probably go against conventional advice, but here it is. I would gather all your compassion and patience and nurturing for your son, and tone it down with the time outs. We don't do time outs the way other people do, I think. We don't call it anything. We take our son physically away from the situation and sit with him and help him calm down and pull himself together. Sometimes it's saying nothing, sometimes it's talking through what happened. He recovers much more quickly and there are no control issues, and he doesn't feel shamed and punished.
Do not punish accidents, like you've heard. You can just say whoops, that's OK, that's going to happen. Come on, let's clean this up. Remember he is still developing and can't control himself very well, either emotionally or physically. Don't you think you'd like that kind of response if it were you?
He probably is stubborn and mad, that is how 3 year olds are. This is an age where you can no longer expect them to just go along with everything you want anymore, I've found. But it's normal, and actually good. At this age they want to learn how to make their own decisions and helping them do this in limited ways gives them confidence that they can make good ones. We let our son make as many decisions as are reasonable. If he doesn't want to do something, we say, OK, well we DO have to do this, and we have to do it soon, because........, so you let me know when you're ready to do it, OK? And about a minute later he's ready.
best wishes!