* Relaxed $.validator.format so that the arguments don't have to be strings. Added overloads, so that if called with just a template and no arguments, it returns a curried function, as per http://jqueryvalidation.org/category/validator/. $.format might need changing (?) but I haven't touched it as it's deprecated anyway. Added tests.
* Place everything inside a JQueryValidation module to avoid cluttering the global namespace
* Split Validator into Validator and ValidatorStatic interfaces for correctness. Subdivide tests accordingly.
* Change rules to be typed as a RulesDictionary rather than an Object.
* Change ValidationOptions.groups to be { [groupName: string]: string } rather than Object.
* Change ValidationOptions.onclick, onfocusout and onkeyup from bool | Function to ShouldValidatePredicate, an alias for boolean | ((element: HTMLElement, event: JQueryEventObject) => void). Added more tests
This enables each definition to have a readme if necessary.
Also a .json metadata file to help with package managers.
And last, to have different versions of the definitions.