title: maintain activerecord relation when accessing relations through collection
body: <p>I have an activerecord relation object called contacts. Each contact model has_one lead. I want to return the leads as a relation and therefore I cannot use map,collect,select.</p>
  
  <p>Obviously, this doesn't work because the iterator breaks the relation:</p>
  
  <pre><code>contacts.select(&amp;:lead)
  </code></pre>
  
  <p>This works but returns contacts as the relation object, not leads:</p>
  
  <pre><code>contacts.joins(:lead)
  </code></pre>
  
  <p>Therefore when I try to invoke the group_by_week activerelation method on the result:</p>
  
  <pre><code>contacts.joins(:lead).group_by_week(:created_at).size
  </code></pre>
  
  <p>created_at refers to contacts, whereas I want it to refer to leads.</p>