Extract RecordCollection from Host

This'll let us reuse the #find_by code to implement site.mappings.find_by.