Allow fields to override the key used for serialization and deserialization

I'm writing python bindings for the Capsule CRM API and came across this neat library. I like it – the patterns, the readable code, and that it's lightweight.

I found myself quickly needing this one, since I want to remap the keys between the API and the model.

I saw in your blog post that you're looking to add some serialization features. I'm thinking you'll probably incorporate serialization into the models and fields rather than adding a separate serialization layer – is that right?

Let me know what you think! If you like this approach I can write some automated tests. This is passing the existing tests.