I'm going to have to agree with the others that you freaked out and you owe your son an apology. Hickies are not trashy or slutty. They're really embarrassing as a teenager: let that be punishment enough! I remember suddenly being SOOO happy that my mother had a penchant for buying me Lands End turtlenecks with cutesie little graphics on them. OMG, what teenager in the height of the Grunge years was going to wear a turtleneck with little Christmas scotties on it? They were heinous and awful and might have been cute on a 6yo and I never wore them... but wow did they come in handy the first time I got a hickey! And after that, I learned that hickeys go where no one will see them
I also agree that it is not surprising that she called you names. You mortified both her and your son, and so of course they ran into eachothers arms to vent. If your MIL started screaming at you over anything, you'd be saying some not terribly nice things about her to your DH or your friends as you vented.
Now, I'm quite okay with a tiny bit of mortification to keep your teens in line... but it's gotta be subtle. Like, Lands End Christmas turtlenecks. Okay, maybe not Christmas, but the way to handle this is to say "ahem, you seem to have a bruise on your neck. I assume you got it while playing basketball. Ahem. I got you a turtleneck to wear while it heals. You're going to have to wear it to school, because I'm not gonna be able to help you when the nuns see it." Trust me, that's aaaaaall the punishment a 14yo boy needs for preventing visible hickeys.
And I also agree that the kids with the least freedom take the most. My parents were died in the wool hippies who were eternally mortified by their totally square children. I didn't have sex or do any drugs until I went to college. My high school boyfriend would come over, and they'd go out. They were so specific. "We'll be at the library, and it closes at 9, so we'll be back about 9:10. You guys have fun!" OMG it was so embarrassing. We'd go sit on the couch and watch a movie. There's nothing that ruins the mood more than having your parents think that you're getting some action right then! Meanwhile, his mother made his younger sister babysit us, so we'd sneak a little bit of cuddle time whenever possible at his house. Makes no sense, right? That's teenagers for you.
There's nothing wrong with having ground rules, but trying to micromanage his relationships is just going to backfire. I'm sorry, but it does. I would sit down and apologize to him. Tell him that sometimes parents freak out when they realize that their kids are growing up, and that your reaction was inappropriate. Tell him to tell his girlfriend that you're very sorry for what you said to her.
Suggest something that you can invite her along to: where I am it's fun fair season, maybe suggest that she be invited and then they can go off and ride some rides and you guys can all meet for dinner afterwards. Or the beach or a hike or something like that: something where they can get some alone time and you can also get to know her a bit more. Trust me, she doesn't want to do an event where she'll have to spend the whole time hanging out with you guys. It will also help legitimize the relationship a bit more, which should cool things down a bit more. If Romeo and Juliet has taught us nothing else, it's that young kids in love do really stupid stuff when they think they have to be all secret about it.
Make sure that he has all the appropriate books about puberty and sex. Make sure he knows how to use a condom. Give him a condom and a banana and make him put it on in front of you: that'll cool a lot of passion, I promise. Tell him that at his next well visit appointment, you're going to tell his ped that he has a girlfriend and ask the ped to make sure that your son has all the appropriate information.
Make sure that he knows the numbers. By the age of 15, only about 13% of teens have had sex. By the time they graduate from high school, only about 50% of teens have had sex. It is NOT TRUE that "everyone else" is doing it. He should never, ever let anyone pressure him into doing anything that he isn't comfortable with.
Good luck. I don't think that you're a bad parent: I think that you overreacted and flew off the handle. You handled the situation poorly, but it's definitely not too late to fix it.