API test review

* Add tests for Yav.getParent()
* Remove duplicates
* Reflect new window.yav() behavior
* Add test describing that removeConstraint should remove all matches
Change yav.js content

It may carry just window.yav() code and related. Please, refer to Yav.js to
find out the Yav class code
Add main jsdoc file

Yav.jsdoc contains info about release version, license, authors and related
Update source files for karma tests

Make it look for yav, Yav and Yav.anything
Add Yav.validate.js

Validations for Yav instances. Validates its elements, its options values,
its constructors arguments and any other thing that an Yav instance may need to
validate
Add Yav.validate.option.js

Validations for Yav.options parameters. When a parameter is not a simple
boolean switch and accept some miscelaneous inputs Yav.validate.option acts
invoking an option parser to build the expected result
Add Yav.init.override.js

Override algorithms are tests agains the options.override value and
replacements for Yav instances on elements, its children and its parent.

Also override native checkValidity and createElement methods to match some Yav
needs like call custom constraint validations when element.checkValidity() is
invoked
Add Yav.init.js

Initialization logic covers options parsing, elements validation, elements
overriding and any other thing that may occur when ```new Yav()``` rises
Add Yav.js

The main Yav class has its own file. Infile docs guides developers about file
structure and split. Yav.js should maintain only the Yav interface
Merge branch 'feature-source-split' into dev

Each thing in its correct place