Creates a Date instance from a Hash with keys :year, :month, :day
@param [Hash, to_mash] value
value to be typecast
@return [Date]
Date constructed from hash
@api private
Typecasts an arbitrary value to a Date Handles both Hashes and Date instances.
@param [Hash, to_mash, to_s] value
Date constructed from value
[Validate]