Separate formats from validators

Resolve #23 
https://github.com/bem/bem-core/pull/429 инфа есть тут

Но:
```
modules.define('ablock', ['i-bem__dom'], function(provide, BEMDOM) {

provide(BEMDOM.decl(this.name, {}));

});

modules.define('ablock', function(provide, ABlock) {

provide(ABlock.decl({ modName : 'm1', modVal : 'v1' }, {})); // (1)

});
```

(1) — делать плохо. Потому что плохо. https://github.com/bem/bem-core/issues/782