For now, with the leading issue, get a lead with a chain on it and put it under his jaw. No need to yank on it. If he barges ahead, brace yourself and let him feel the bite of the chain. He'll turn around to face you. Try to maintain the spot you were standing in and make him come back to you, don't go to him and start again. Walk him around outside where it's safer for you. Carry a dressage whip. Pick a spot in the distance and focus on it and start walking. Try not to look at him. If he tries to crowd you don't be afraid to deliver a hard whack with the whip on his neck to move him off. Be sure to hold the lead about 3' from the clip or he will crowd you. As you walk, flap your elbow nearest him periodically as he doesn't want to get bumped and will travel straighter. Work on this until he will lead beside you like a gent.