Reformatted the files.
Removed the comment by Object.create, and removed the second param. I never used it because some browsers does not support the second param.
Removed the Model classes, I'll use Validator like a view, so one model would have any number of Validator-s.
Moved the View files to form.js, I'll create a form generator after I finished with the modifications.
Removed the schema from model property, and added to validator options. Validators have now multiple options: schema and model, so I created an options object for that instead of 2 arguments.
Removed requirejs loader plugin. I thinks it's better to create a registry of the installed test libs...
Created a new Test class, every check and test will go into Test extensions.
Moved required to a RequiredTest class.
Moved every checks and tests to Test classes.
Created a stub for jasmine, would be easier to test with it...
Refactored Test classes and basicTests lib unit tests.
Refactored Test classes and basicTests lib unit tests, added common and runner property to Test classes, removed validator property.
Refactored Test classes and basicTests lib unit tests. Removed attributes property, added relations param, changed run method param order.
Refactored Test relations in basic tests. Now basic tests is mostly finished, I can start to add the new interface to the validation classes.
Refactored basicTest lib, removed key property, added TypError to init exceptions. So I can catch the TypError in the Runner, and can create a new Error instance with additional information, like key and test class... Now Test does not know it's model, validator, model.attribute, and testLibrary.key. It's in contact with its runner only...
Refactored Test dependencies, I moved them to module.exports. It is now similar to requirejs.config.shim.
Refactored dependency resolver, it has now a new interface, returns queue instead of test map. The queue is now an array, but I think I can make a fusion with the Runner.
Moved code to deprecated files. It's too slow to refactor the whole lib to the new interface... I'll start it from zero, and I'll copy proper code from the deprecated versions.
Added a new test class, moved the run + stop code from the runner to that... So the runner needs to call now just an async.serial instead of complex logic... The tests use now an evaluate method instead of the run method... Every test is handled if they would be async. It is still possible to make parallel async tests for an attribute, by changing the runner, but I don't think this feature is necessary. I'd need a dependency tree instead of a list by that... It is complex, so not in this version, just when I really need that...
Added TestProvider, which stores the tests and returns test queues.
Added SeriesQueue, it can run async Test instances in series. TestProvider.series creates now this queue from deep schema or config. I have not decided the naming conventions yet, "queue" wont stay for sure... I'll add a parallel queue to the provider, and after that I'll refactor the provider to use series and parallel as plugin, not as method...
Added parallel queue, it calls tests parallel, and aggregates errors... I will replace the params of run method with one config object. After that I can add multiple callbacks for every test, for example: statechange, run, end, stop, etc... Maybe I should use  Backbone.Events, I haven't decided yet...