Fixed bug in validate.js (breaking change).  Needed to alter how the validation functions are applied.  Previously, the property value was passed for this, but that doesn't work as intended for non-object values.  Now the object being validated is used for this and the property value is the first parameter.