You son is at the age when kids want independance. They want it their way, do it their way and throw a fit when it doesn't happen. Many people refer to this a terrible twos. I think it starts earlier and lasts longer than just the twos. He can also not express his feelings or have the words to tell you what he wants.
I work in a daycare and have 3 young kids.... this is what I do. Give time warnings (in 2 minutes we need to get our shoes on... In 3 minutes we will need to get in our seats in the car so we can drive to the store). This helps them to trasition from one activity to the next and they know that you need them to do something.
You can also talk about feelings (putting words to what they are going through) "I can see you are mad that we had to leave the store, but when we get home you can help me put the food away" This gives them the tools to talk about it.
This is also the age when they want to help. Give him "big boy" jobs like choosing his cloths, or wiping the table.
When it comes to safty... be firm. " the car won't start unless everyone is in their seats and belts on" then don't start the car. When he gets to the age of taking them off (and he will) stop the car as quickly and safely as possible and remind him the car won't go until he is sitting right.
This age will pass. You just have to set the pace and stick to your rules. Do not let him run your house, it will be harder for you to gain control later.