SchemaDate min and max validators

Default error messages added, SchemaDate min and max validators added,
validation tests added.
Minor detail: I really dislike one-char variable names, and I've been cleaning that up in mongoose's code base when I can. Can you use `val` and `max` instead of `v` and `m`, especially since `v` is also used to mean something completely different in L176-178?