Make Squeel compatible with Rails 4.1 and Rails 4.2.0.alpha

Hi @ernie, @radar, @jonatack

I had made a lot of changes and managed to pass all tests on all versions of Ruby 1.9.3+ and Rails 3+. But I think I indeed need your help because I really pushed a large commit, I don't want to mess anything. Would you please take a check, if you have any questions, we can discuss here.

It should solve #301, #305, #307 one time. 

Major Changes:
- Remove machinist, make model generation more robust and simpler
- Use polyamorous master because it was just updated
- Brand new Context class, because JoinAssociation changed a lot
- Add 4.1 and 4.2 folders under adapters
- Add some ! methods to visitors, so that we can throw some unexpected behaviors from them
- Split specs into 3.x-4.0, 4.1, 4.2 folders in order to make tests easier
- Make all specs green from Rails 3.0
- Pend few specs because of unnecessary behaviors on Rails 4.1 & 4.2 I think

Thank you very much.
Should this file be in version control?