Query integrator

just finished this-- ended up having to break it up into smaller pieces than previously anticipated.  I'm going to write a test to prove its correctness with at least one 1..n association and the case of multiple populate() calls, but it's definitely ready to merge now.  Performance could, of course, be improved but that'll come when it comes-- since this is only for the cross-adapter case, we'll be fine.

Overview of the abstract function definitions (written in lisp for readability):
https://gist.github.com/mikermcneil/384dac8cf59b2bbade20