I'm really worried about the way things went with my career. I've started computer science study by switching from a different field. 

1. I was so much into programming that I got my first job after my first semester. I was offered 120$ per month only. The boss was a really hard person. The money was even hardly covering the fuel expenses to reach office. So, I quit after 1 month. Boss was angry.
2. Second job I got after some months, and I was offered about 250$ per month. I worked for 3 months and I was suddenly offered 900$/month from another company. The 250$ was covering only 10 days of month and remaining 20 days, I had to live on loan. The boss was good person but other job offer was only for immediate joining, I told boss and he said me that he can raise my salary to 400$/month. Other job salary was more than double and even the position was a lot better with a bit large team, so I quit, and the boss was angry as he had planned many other things for me to work on already.
3. I joined the third company. Things were good but the bosses on top were not even IT guys, so they kept saying to do more and I really worked to keep them happy. Still I was happy. There were a couple of complaints from this company. First, there was no arrangement of food. There was so dirty and even toxic street food available in day time (and we had to pay our self, I was cool with it but bad food and hard work really?). Company was in a really bad location that there was no Govt control over food quality. I still kept going with constant complaint about food. It was summer and temperature started to raise up-to 40-45 degree Celsius. My office was on top of building say hello to sun all the time. I kept working sweat in heat under only a fan. But it became too much with time as they kept promising that air-conditioner will be installed next Monday. So, 4 Mondays passed, and no Air Conditioner. Bosses stopped to attend office because of heat, we started to receive instructions in email from bosses, but me and few more guy (Those also quit before me) had to keep working because of deadlines. So, after 4 Mondays I quit. I was becoming so much physically sick, that I had to quit suddenly, even I didn't go to receive my last month salary as they had said to work for 1 week more before leaving and there was no way I was going to sit in that hell for a another single moment.
One more thing, they had promised to pay double for extra hour/day. They never paid a single peny for extra hour, even though there were always extra days and hours.
4. Now I work as freelance developer for a nice small company in Canada. I make good money.

My aim was always to go to Europe/US/Canada to work as developer after finishing my study. Last month my degree completed and I got 2 Gold Medals in Computer Science and I already had won few small medals in past. The current company I work for as freelancer, is a small one and they can't offer me to join their office. Even though they like my work a lot. They even said me that they are looking into possibilities of taking me to their office but I don't they will be able to do so, as there are expenses and a lot of paperwork. 

So, now I'm able to see a lot of vacancies in countries I want that match my skills and offer relocation. 

But problem is experience. I worked:
1 month in first company, 
3 months in second,
4 months in third,
and for about 6 months I have been working as freelance.

One more strange thing, I was the best in all companies, they loved my work, and the way I quit, they just hate me now. So I can't expect any feedback from past companies.

How will I explain to new company recruiters the high quit frequency I had in past? I can't tell them stories like I did here, do I? 
Should I skip this in my experience section of CV/resume? 
Is it me who is bad? Any advice will be appreciated.