UUID foreign keys are not cast properly
Awesome thanks charles!

Found this out by trying to use prefetch and it failing for no reason. I thought it was a problem with the id_map not find the appropriate relation to match on because the data is coming back but simply it's a type mismatch, one is a string and the other is a UUID thus no match :(

https://github.com/coleifer/peewee/blob/2.4.6/peewee.py#L3963

Example:

``` python
class Parent(Model):
    uuid = UUIDField(primary_key=True)

class Child(Model):
    name = CharField()
    parent = ForeignKeyField(Parent)

parents = Parent.select()
children = Child.select()

parents_prefetch = prefetch(parents, children)
```

This should show you the problem. Take a close look at the keys in the id_map, they're the problem :)

I've also tried to get `.aggregate_rows()` to work to no avail too, guessing it's the same root problem.

Thanks again for the great library Charles!
