aggregate_rows() [+ switch()] + get() don't play nicely
PS. I know this is likely to cause performance issues when used on large datasets but the joins I'm looking to make are not huge 2-3 rows in each so figured I'd try this syntax to bundle up the network calls into a single query :)
 This is documented, in ["Using aggregate_rows"](http://docs.peewee-orm.com/en/latest/peewee/querying.html#using-aggregate-rows) at the end of the section:

> Do not mix calls to `aggregate_rows()` with `LIMIT` or `OFFSET` clauses, or with `get()` (which applies a `LIMIT 1` SQL clause). Since the aggregate result set may contain more than one item due to rows being duplicated, limits can lead to incorrect behavior. Imagine you have three users, each of whom has 10 tweets. If you run a query with a `LIMIT 5`, then you will only receive the first user and their first 5 tweets.

Your best bet is to use `prefetch` with a `LIMIT 1` on the outer-most query.

Not sure if this is a documented feature, but I'd love to use it if it was! Essentially prefetch for `get()` :D

If you're trying to aggregate multiple joins and backtracking using the `switch()` this results in some unexpected behaviour.

```python
from peewee import *

db = SqliteDatabase(":memory:")
db.connect()

class BaseModel(Model):
    class Meta:
        database = db

class MyModel(BaseModel):
    id = PrimaryKeyField()
  
class MyRelModel1(BaseModel):
    id = PrimaryKeyField()
    my_model = ForeignKeyField(MyModel, related_name="my_rel_models1")

class MyRelModel2(BaseModel):
    id = PrimaryKeyField()
    my_model = ForeignKeyField(MyModel, related_name="my_rel_models2")

MyModel.create_table()
MyRelModel1.create_table()
MyRelModel2.create_table()

m1 = MyModel.create()
MyRelModel1.create(my_model=m1)
MyRelModel1.create(my_model=m1)
MyRelModel1.create(my_model=m1)
MyRelModel2.create(my_model=m1)
MyRelModel2.create(my_model=m1)
MyRelModel2.create(my_model=m1)

my_model = MyModel.select(
    MyModel, MyRelModel1, MyRelModel2
).join(MyRelModel1).switch(MyModel).join(MyRelModel2).aggregate_rows().get()

print MyRelModel1.select().count()  # 3
print MyRelModel2.select().count()  # 3

print len(my_model.my_rel_models1)  # 1
print len(my_model.my_rel_models2)  # 1
```

Now if I try to access `my_model.my_rel_models1` it will only give back a single result instead of the 3 as expected.

I actually cannot get this to work either without the switch:

```python
my_model = MyModel.select(
    MyModel, MyRelModel1
).join(MyRelModel1).aggregate_rows().get()

print len(my_model.my_rel_models1)  # 1
```

Thanks,
Alex