Enable minimum and maximum scoping definitions for Date validation; add Form validator for dates.

I have an application (SUSHI-Lite) which needs to validate the scope of dates provided to it.  For example, BeginDate could be YYYY-MM-DD, or YYYY-MM, or YYYY.  PubYr must be YYYY.

This enhancement allows the minimum and maximum scope of a date to be provided to the validator to enforce these rules.

For backwards compatibility the minimum scope defaults to a year, and the maximum scope defaults to a day.

A new form validator for date entry is provided.