Alrighty then. ^^ As for the children, it's going to take lots of socialization---if you know someone with older children(basically, old enough that you can help them understand that they need to calmly greet the dog), bring them over as often as possible. After they've played with the dog calmly and gently, let him go to the office or whatever so they can play and have fun. It'd be great if you could have him somewhere where he could easily hear and see them, but not be with them so he's not agitated. Do not let them tug his ears and tail and the like---eventually, this can be your goal, but right now he doesn't even like them being around, much less yanking on him. If younger children come around a lot, then make sure he is somewhere where they cannot get to him but he can see them. This way, their roughhousing will not cause him to feel threatened. As he gets used to the normal sounds of active children and seems okay with it, allow him to come out for just a little while. BEFORE he gets agitated enough to nip, put him back up. It's important that you learn his comfort level, and pay attention to just how much he can take from the kids. Always make sure he is put up before his patience runs out, so that you are rewarding him by letting him have some peace and quiet. You can slowly increase the time he is with them, but just continue to put him up as needed. If he nips at them, give a firm "Ah-ah!" to discourage the behavior. When he stops, praise him, give him a bit to relax, and put him up. Do not put him up immediately after the "ah-ah" as he may begin to associate nipping being rewarded with escaping the children. It may seem cruel to contain him everytime young visitors come over, but everyone will benefit--and really, he won't mind a bit. Understand that containing him is NOT meant to be a "time-out." Dogs are not like children--time-outs mean nothing to them. Containing him is meant to be a safety precaution for everyone, and to give him some time to himself. Once he gets to where he can stay with them for extended periods of time, you can do even more to help him learn that kids are fun! You can have older children give him treats. Teach him the "come" command, and when he has mastered it, have an older child give the command and then reward him.
As for the cars, put him on a leash anytime you know someone is coming over. Since you said he is fine passing cars on the road, walk up and down your road until your visitor gets in the driveway and out of the car. If he shows aggression, say "Ah-ah!" and immediately spin around and walk the opposite direction. You may have to do this several times before he can calmly approach the house again with the strange car in the driveway. Another thing you can try is have either you or whoever you live with walk him while the other pulls the friend's car in the drive(provided they are comfortable with that). If you do this many, many, many times, he will begin to associate cars in the driveway with people he wants to see. If he sees you getting out of the strange car, his aggression should dissipate and he should be thrilled to see you.
Anytime you know you have a visitor coming over, young or not, you should take him for a jog--a long one. If you jog him enough, it will help release all the excess energy that he is taking out on the visitors and their vehicles.
Along with all this, you must work on not letting him rush through the door. If he's not rushing through the door, then he's not attacking cars. Teach him "wait." (The classroom here on the website has a lesson on this.) He needs to understand that he should never, EVER run through the door. This is dangerous to him as well as(obviously) your visitors. You need to ensure that his "wait" becomes flawless and he will wait away from the door for extended periods of time unless you release him. As he improves, stand between him and the open door and toss something behind you(toys, food, whatever). If he tries to go get it, say, "Ah-ah!" and step in front of him. Continue to block him with your body until he stops. Praise him when he quits trying to get the object and tell him again to wait, and start the whole process over. Repeat it several times, and continue to test his obedience by perhaps having your spouse pass by the open door(behind you, so that you can still block your dog). Once he has improved with his vehicle aggression on-leash outside, test his wait inside. Leash him just in case, and have your spouse pull a familiar vehicle into the driveway. Use the same methods to help him keep his wait position, and release him only when he is firmly keeping it. YOU walk out first, then tell him, "Okay, good boy!" to let him happily greet his friend.
This will take a lot of work and a long time to fix. Be patient, and do everything multiple times, but be sure to give him breaks. Don't wear him out on training. Good luck, and I do hope this helps. If I think of anything else, I will let you know. If after a good, long, persistent try with these methods, he still isn't improving, get back to me. =)