abstract Matcher
QueryString: унаследовал от Matcher
Pathname: унаследовал от Matcher
Path: унаследовал от Matcher
Все матчеры теперь принимают такой же объект, который будет принимать Роут - набор матчеров
public Route
100% coverage
Экспорт классов
Все матчеры теперь находятся в директории matcher, а Route - в корне
matcher/Pathname.js: getParams -> getParamsMap, изменился смысл метода, теперь он возвращает не список уникальных имен параметров а карту параметров
Изменил правила валидации кода в соответствии с изменениями в файловой структуре
Path: Удалил приватный метод __getParams__
Матчеры снова должны принимать в match непосредственный объект матчера, извлечение субьекта ложится на роут
matcher/Pathname.js: заменил match на exec, результат не именился, но метод теперь лучше деградирует если передать невалидные данные
Route: Удалил метод getMatcher, появилось публичное свойство matcher через которое доступны все матчеры
Вынес логику мачинга/билднга из matcher/Pathname.js -> matcher/StdPattern.js
+ matcher/Hostname.js
matcher/StdPattern.js: Возмоность задавать разные шаблоны для матчинга и билдинга
test/Pathname.prototype.getParamsMap.js -> test/Pathname.prototype.getBuildParamsMap.js
matcher/StdPattern.js: private __setDefaults__