Call default if a callable is passed.

This way default behaves the same way as value, and it allows to pass
things like datetime.now for date fields and bson.ObjectId for objectID
fields.