The fact he goes non stop would be a sign of ADHD (and also a crack baby).
The fact that he is very smart would also indicate that he has learned how to manipulate you. Don't spank him. It won't work and only teaches him to hit other people when he is mad. Do obtain a copy of Lynn Clarks' book SOS: Help for Parents. I think it will help. Check the child behavior forum, there are a lot of parents having troubles with their 4/5 year olds and the advice given to them will also help you.
I definitely would get him into a doctor. Not to get him on meds but to find out what is going on. If he has ADHD, books like, "The ADD/ ADhD Answer book." , by Susan Ashley are extremely helpful. You need to know what is going on, so you can find out how to deal with it. So get him into the doctor.
Okay, I have another suggestion for you to look into as well. Sensory integration disorder. My son has this delay and it can look an awful lot like adhd. They are managed differently and no medication helps sensory. Google sensory integration disorder and see what you think. You can never have too much information regarding what might be going on with your child. Sandman also gives good advice on Sos for parents and the ADHD answer book. Read all you can to figure this out and seek professional advice as well.
Congrats for kicking the addiction. Don't beat yourself up for the past. We all make mistakes. Your son loves and needs you. good luck