Typed attributes

The idea is that models should receive "proper objects", and shouldn't handle typecasting. I think typecasting is a responsibility to which scrivener is well suited.

With this in mind I added this code.

Thoughts?