When I first got my horse Putts, he was almost the same way, except he would rear on his way backwards... Not anymore!
You have gotten a lot of good advice, but here's my two cents:
You just gotta be a little mean when you don't get what you want (when it comes to buddysour horses, anyway).. Obviously not abusive, but assertive. Stop making excuses for him and be assertive, I know you can!
A buddy sour horse is a spoiled one. Kind of like the little kid in a toy store throwing a fit because mom wont buy him the toy. If you keep letting him get what he wants, that's all he is ever going to do and he will become even more dangerous.
If he throws a little fit, throw a little fit back at him. Circle him, do whatever you can to KEEP HIS FEET MOVING IN A FORWARD MOTION, even if you need to spank him a few times or do 176889612346 tiny little circles, or maybe even get off and lunge a little when the going gets tough.. You make the decisions. Not the horse.
When it comes to dangerous habits like that, you've got to cure them quick if you don't want to get hurt!
Good luck! I hope I helped a little!