Boyfriend or Old flame?

Okay, I have been dating this guy for about six months, and we real click well. He makes me laugh all the time and we have a lot in common and hang out every day. When he gets annoyed he also gets a short temper and turns very hostile. Last night I accidentally pulled something off his door (all you have to do is pop it back in) and he called me a dumb motherf*cker. I was so fed up with his attitude since he has been acting this way more and more often towards me, so I told him he was in a terrible mood and I left. As I got in my car he came back out to apologize, and he always says he doesn't mean to act that way but his emotions get the best of him. He also will NEVER come to family or work functions even tho we have been dating for months and I attend everything he asks me to without question, because I LOVE him and that's what ur SUPPOSED TO DO. Anyways, here is where the problem starts. There is a guy a year younger than me at my school. Over the last 3 years, we have had flings on and off, and we even had sex in the beginning of last year, he always drunk texts me telling me he loves me, but he is sort of a player. We have been texting lately and all he talks about is how bad he wants me and I even said "you only want my body" and he has been trying his hardest to convince me it isn't true. I'm not sure if I can trust this guy, but we ALWAYS come back to each other and stay in contact. Whether it's him or me, we are just so attracted to each other, like magnets. I really love my boyfriend and I don't want to lose him, but his hostile ways are pushing me away. I know my sweet boyfriend is in there but I don't know if I can crack his shell. And I also cannot stop thinking about my old flame.....how do I handle this?