lots of good advice so far, just wanted to add a little more. pregnancy, especially unexpected pregnancy, can be an amazing opportunity for a lot of soul searching, healing, growth, and transformation - could even be considered a blessing, a powerful force to move you (and your husband, if he is willing) through healing of past wounds at an exponential rate. pregnancy, birthing, and parenting can put you right up against your stuff, and if you are motivated enough and have enough support you can take advantage of this time to really work through stuff and move forward as the powerful, loving person you were always meant to be (and always have been, under the wounding). having a new life to consider (and put first, since this being is totally depending on you for nurturing and protection) can provide you with the strong motivation to really use this time. i would highly recommend seeing a good therapist (take your time, shop around, interview several till you find one that feels right to you), both individually yourself and with your husband. you may be able to find someone who will do both, or two therapists who might work together, or just a separate therapist for you and for your marriage (of course if your husband is willing to do individual therapy as well, that would be even better). if he's not willing to go to couples counseling, please see a counselor yourself. (i'm using the words counselor and therapist interchangeably here, but what i really mean is someone who will not only help you navigate the current situation ("counselor") but who will also help you explore and heal the roots in the past ("therapist"). the person may call themselves either, or even something else, like "shamanic healer." there are many paths and practitioners, the important thing is to find someone that your intuition tells you that you can work with.
regarding your husband - maybe you can use NVC (nonviolent communication) methods to really listen to him, listening beneath the anger he expresses to what his fears are, maybe even exploring into his childhood, what is being triggered in him. and maybe you will not be able to do that, or he won't be willing, in which case it might be better to simply not react to his comments, or remove yourself from the situation, to protect yourself and your baby (or as you have done before, ask him to leave). it could be good for him also to have some space where he can really begin to deal with his inner demons on his own (hopefully with some kind of support, therapy, etc). the most important thing for you is to protect and nurture yourself and your baby, getting as much positive support as you need and can find. it does sound like some of your "friends" and family are pretty self-centered and not able to give you the support you need, and i think it's good that you set boundaries with them and keep them at a distance if they aren't willing/able to be more supportive. perhaps you can help them tune into the baby and shift their "selfishness" to really focusing on this baby's needs. the baby is very aware already, and open to receive all kinds of good input. i would highly recommend that you talk with your baby often, several times a day. your baby gets your emotions directly. this is not to say you should always be happy or pretend to be happy, but rather that you should say things to baby like "we hadn't planned to have children, and when we discovered you were here, we were very scared, and your father is still very angry, and i imagine that must have been really scary for you too. but now i'm really really glad you are here, and i'm so looking forward to loving and nurturing and being with you throughout your life. any negative feelings your father or i or anyone else might have are absolutely not about you, but rather about us and our previous hurts. i will do my best to protect you from our fear and anger, and i will continue to seek out all the support i need in order to give you the best care possible." when you do feel scared or sad or get caught up in negative feelings yourself, you can reassure your baby, "i'm feeling scared right now, things feel really hard and i don't know what will happen, but these feelings are not about you. you are safe and loved and protected. i'm seeking out and getting whatever help i need in order to move through this, because i love you so much, and you are my first priority." things like that, in your own words of course. you can also tune in to the baby and listen for communications from him/her.
also please do what you can to eat as healthily as possible. it is wonderful that you stopped smoking! i don't know if you have explored or decided on a provider, but even if you have, i would highly recommend talking with several different midwives and consider giving birth at home or at a freestanding (not affiliated with hospital) birth center. midwives can help you with nutrition and other ways of preparing for a healthy, easy, wonderful birth. find yourself a good doula too. you might plan to go ahead with the birth on your own, and if your husband comes around before then he could be included as well, and maybe your mother. this could be a time that you and your mother could become closer, if she is able to face and admit the ways she hurt you. if not, it might be best to keep your distance, but try to understand her feelings too, it can be a tricky dance, so trust yourself. you might do some counseling with her as well, if she is open to that.
there are lots and lots of good books out now about pregnancy, birth, parenting, so you can inform yourself and get some support through reading as well (and videos/dvds too). and find a support group or class to attend. you will make many new friends with this transition in your life, and some of your old friends my stay, some may leave, some may transform, that is normal.
i really appreciate you reaching you to this forum. i imagine that all of us who have read your post are thinking of you and holding you and your baby in a circle of love. may you also find that support in actual face-to-face relationships in your life. please do keep us posted!