Using fn.* on select() : can't rebuild model object
I write a little hack to add support of "AS" in the function fn.MIN. It works, but I'm not sure that is the best way to proceed.

peewee.py - Class Func(Node)

``` python
 406     def __getattr__(self, attr):                                                               
 407         def dec(*args, **kwargs):                                                              
 408             _as = kwargs.pop('AS', None)                                                       
 409             if _as is None:                                                                    
 410                 return Func(attr, *args, **kwargs)                                             
 411             else:                                                                              
 412                 return Clause(Func(attr, *args, **kwargs), SQL('AS'), _as)                     
 413         return dec
```
 That already exists actually, just call `.alias()` instead of as, e.g.:

``` python
fn.MIN(SuchAndSuch.date).alias('min_date')
```
 **BUT** I admire your enthusiasm for fixing this! Moar patches :)

Hello,

When I use fn.MIN(Transaction.date), MySQL return an column named "fn.MIN(Transaction.date)" intead of "date"... So all Transaction items returned have attribute "date" == None.

It would be nice to have the possibility to do something like that

```
                       fn.MIN(Transaction.date, AS="date")
```

Test:

```
lstTransaction = Transaction.select().where(Transaction.vendor ==
1).distinct().group_by(Transaction.client).order_by(Transaction.amount)

OK
print lstTransaction[0].date
==> 2014-02-01 12:21:45


lstTransaction = Transaction.select(Transaction.id, Transaction.vendor, 
Transaction.amount, Transaction.client, Transaction.date).where(
Transaction.vendor == 1).distinct().group_by(Transaction.client)
.order_by(Transaction.amount)

OK
print lstTransaction[0].date
==> 2014-02-01 12:21:45

lstTransaction = Transaction.select(Transaction.id, Transaction.vendor,
Transaction.amount, Transaction.client, fn.MIN(Transaction.date))
.where(Transaction.vendor == 1).distinct().group_by(Transaction.client)
.order_by(Transaction.amount)

KO --> All Transaction items on list have attribute date == None
print lstTransaction[0].date
==> None
print lstTransaction[0].__dict__
==> {'_data': {'client': 1, 'vendor': 1, 'amount': 10.0, 'Min(t1.`date`)': datetime.datetime(2014, 2, 24, 10, 52, 32),}}
```
