C.O.
It sounds normal to me, too.
Our 2-year-old is almost 3 and he can be the sweetest, happiest little thing. Then, something can set him off and he'll turn into a little terror. He can also go from screaming and crying to smiling in about half a second.
At that age, they're learning to be independent and how to push limits. They know they're big enough to do a lot of what they want, but don't realize they're not big enough to do everything. And then there's someone who's always making the decisions for them and telling them "no". That has to be frustrating!
As for the head-banging, my sister did that a LOT and she is now a healthy, happy, married mom to a cute little boy. =)