Updated file with new info, updated rules, and callback rule logic

Changed file header info (author, license, etc)
Updated all rules that use the RegEx method to require the input field
to have a value in order to start validation. (this is a major changed
from Rick H's validate.js as it means each field must have a 'required'
rule if they are required: no other rule will make a field required)
Added additional logic to let custom callback rules run without the
'required' rule