Ensuring predicates are loaded in proper order

This commit adds a test to verify that when I iterate on a collection
of PredicateSets and for each PredicateSet, then I iterate on the
Predicates in sequence order (as defined in the join model).

Closes #13
Tightening gemspec to be Rails 4.1 or higher

The order lambda for has_many :through is Rails 4.1 and up.
It would be possible to backport this behavior, but I'm not up for it
right now.
Merge pull request #14 from ndlib/issue-13

Ensuring predicates are loaded in proper order