Discerning what fields "were dirty" in post_save signal
Why not just add a `pre_save` signal handler that sets an additional attribute on the class:

``` python
@pre_save(sender=SomeModel)
def pre_save_handler(sender, instance, created):
    instance._dirty_field_cache = instance.dirty_fields

@post_save(sender=SomeModel)
def post_save_handler(sender, instance, created):
    # do something with instance._dirty_field_cache
    pass
```

Hi! I'm trying to figure out what might be the cleanest way to know what model fields "were dirty" (or, more specifically, if a given field changed) in a signal-supporting model.

I'm thinking adding some kind of field on the signal base `Model` that gets set during the `save` method which is set to the contents of `instance.dirty_fields` just before the superclass `save` method is invoked. Do you think it would be possible to subclass the signal-support `Model` and override the `save` logic to do that? Any red flags come up in your mind? Maybe just have an additional parameter that can go into a connected signal handler, `modified`, which is those values.

Model and save method in question:
https://github.com/coleifer/peewee/blob/master/playhouse/signals.py#L65
