I have to say, I love the title of your post.
You've got quite a package of challenges you've got going for you. But challenges are meant to be overcome, aren't they? You can do it.
And occasionally, as we all know....rules are meant to be broken too. But ONLY occasionally! So don't beat yourself up about eating some junk food. Just don't do it often. Try not to binge. It sucks when you know you have to recover from the slip up and lose those few extra pounds that you accidentally (or rebelliously) made, but we've all done it so don't give it more meaning than it merits. Limiting yourself is a good way to go--as in, create a schedule that will
allow yourself to have that more-delicious-than-it-deserves candybar or small fry. But not king size, and not extra large.

If you vow to cut out ALL junk food for the REST of your life, not only will you be miserable, but every time you make the mistake of eating what you consider "junk food" you'll only hate yourself for it. So if you work it in to your schedule in a reasonable manner, you won't have to get pissed at yourself or all worked up over it.
I know, easier said than done. I sound like such a preacher don't I?
Why do you want to do fasting? I don't think fasting is healthy, and I know that would probably make me sad if I did it. Who is recommending that? If you want your body to cooperate with you, you shouldn't shock it into becoming desperate for food. Eating nothing for a day is tough, and the next day is even tougher I would think by trying not to overeat. If you want to eat minimally on your "fasting days," there are smart ways to do it.
Have you seen a nutritionist? My sis saw one in college and he really helped her. If you can find a good one he/she might be able to help you.