Reject the date when the year and/or month is missing

This fixes a bug with the new deconstructed date feature where an error is thrown when a form is submitted without all of the date parameters set.

I just made a change to return nil for the date in that case. This allows it to be caught by any type of validation on the date field. The day field will still default to 1 if blank since that was already in there.

Let me know if you see a problem with this approach. Cheers!