Feature/eager relations

Currently if you have to pull **n** records with a relation to some other object that would result in **n+1** queries to the database. With eager loading of relations you would have a constant number of 2 queries being run.
I would appreciate it if somebody can take a look at the tests, because most of my time was not spent on the feature but producing the tests. I would constantly have method not found errors on "where_in" even when I mocked it (seemingly) properly and used it on the next line to test it if it's mocked ok.