Using .get() with .aggregate_rows()
Refs #480
 Your options proposed there do make sense! Performing a separate query isn't that big of an issue given that the usage of get() implies there will only be one parent object. However, in the case that you're joining on many different tables, I suppose you'd need a separate query for each of them, or use the [0] option as I did in #484.

Please note that #484 is not dependent on single row selects, however, as it can apply to selecting all rows with an Expression-based join.

Consider the following data models:

``` python
class Organization(BaseModel):
    name = CharField()


class Review(BaseModel):
    rating = IntegerField()
    organization = ForeignKeyField(Organization, related_name='reviews')
```

If I wanted to get an organization by its ID and eagerly load its reviews, the LIMIT 1 that gets applied to the query due to .get() prevents it from getting any more than the first review.

``` python
(Organization
 .select(Organization, Review)
 .join(Review, JOIN_LEFT_OUTER)
 .where(Organization.id == 1)
 .aggregate_rows()).get()
```

Is this expected functionality? Would this need to be done using prefetch()? Or is there a different way of structuring this query?
