[Bug] Prefetch and limit bug
Each game can have several platforms. When I use **limit** or **paginate**, some of the games end up without platforms. 

Acts strangely: 
`games = Game.select().limit(50)`
`platforms = GamePlatform.select()`
`games_pf = prefetch(games, platforms)`

Works fine
`games = Game.select().where(Game.id << [1, 2, 3 ... 50]`
`platforms = GamePlatform.select()`
`games_pf = prefetch(games, platforms)`

Not sure if it is a bug, but since your docs say

> Additionally, because of the semantics of subquerying, there may be some cases when prefetch does not act as you expect (for instance, when applying a LIMIT to subqueries, but there may be others) – please report anything you think is a bug to github.
