An experiment no more

The big one: complete rewrite of has_many/has_one.
Yes, we should include in the gemspec file it if we use it, which I think we do.