prefetch() only loads the first ForeignKeyField of given type
Tried to fix that, https://github.com/coleifer/peewee/pull/775.
Tested on some backrefs in my project. Still needs more testing.
 Fix merged.

```
class M1(Model):
   i1 = IntegerField()
...

class M2(Model):
   i2 = IntegerField()
   f1 = ForeignKeyField(M1, related_name='origin')
   f2 = ForeignKeyField(M1, related_name='target')
...
```

In this example, `prefetch(M2.select().where(M2.i2>10), M1)` only fetches `f1` entries. `f2` is loaded with separate queries when iterating over results, since `rel_for_model` in `prefetch_add_subquery` returns single (first) foreign key of given type.
