Mom, as a) a mom myself (on my own as my husband works overseas) and b) the child who was the only one for whom my parents were not good parents, I can tell you, without hesitation, that you're an awesome mom. Know how i know? Because you love them - and you let them know that.
My parents weren't overtly cruel - they just ignored me and made it clear I was going nowhere. They said I made it very difficult to love me when i was two and my dad (step dad) moved in. I was TWO. My father moved to Australia and barely spoke to us after that.
Take it from me - you can be the worst, most unpredictable, volatile mother in the world - if your kids know you love them unconditionally, then you're doing ok. I was at my lowest, depression wise, when my oldest was young. I had no diagnosis, no idea what was going on, and totally the wrong meds. I felt like I was the worst mom alive. I was volatile, and unpredictable and felt like I couldn't get anything right. Now he's 18 - he's a pain in the butt, but that's to be expected, and he knows, without any doubt that I love him. He tells me everything (sometimes too much) and freely tells all his friends that I'm his best friend. He says that I always, always told him that he was loved and that my behaviour wasn't his fault. Almost in spite of myself, I managed to do ok.
I can relate on the discipline - my husband moans all the time that I'm too soft, that I don't discipline them enough and they walk all over me. It's hard to make that stand. I employ 'grown up time'. They have to go somewhere quietly - whether it's the den, or their bedroom or whatever, they have to be out of the way and doing something quiet. Watching tv, playing a game, reading a book (ok, I can dream), whatever - as long as they're quiet. You HAVE to have time on your own, and it sounds like that's not happening right now. Tell them, mommy needs some space, and you need them to do this for you.
have you tried the old time out? Or taking away a favourite toy for a short time? it's hard the first couple of times, but once they realise you're serious (even if it's only ten minutes) they'll know next time.
I'm also a fan of bribery - I know, it's awful. Sit them down, tell them that you're all going to work together to get the house nice. Give them each a small job - even little ones can put stuff away. Tell them once they do that and each has done their job properly, they will get a 'treat' - whether it's a cookie, or a piece of fruit, or a favourite movie to watch, if they feel that they're getting a reward, it's easier to make them comply. It's not totally bribery - you're really teaching them that when they do good things, then good things come to them. Either way, if it gives you ten minutes peace, it works.
You're an awesome mom, and you know your little guy didn't mean it. it just caught you off guard. maybe tell him that he's hurt your feelings. That he's allowed to feel whatever he wants, and that you will love him, no matter what, but that he's hurt you and you'd like him to think about what he says to you. It's worth a shot. Chances are he's already forgotten it - he didn't mean it, it's just a kid thing. But next time, you can make him see that it's hurtful to say stuff like that.
anyway, I'm rambling (gee, go figure). I don't know if any of this helped, but hang in.