Added Date object support

It checks if Date is valid Date and if so the resulting object will be a Date object.

I suppose if user set some field as **Date**, she expects to have Date object on the output, otherwise she could use **String** type. I think It could be helpful to avoid additional checks and transforms before saving object to MongoDB or something.

Tests provided.
Hey! Thanks for the PR :)

Can you explain the rational behind this? I'm not sure why the spec would be a Date instance.