feat($urlMatcherFactory): Made a Params and ParamSet class

- make state.ownParams and params use Param type
fix(): populate default params in .transitionTo. closes #1396
feat($state): add state params validation Closes #1433

feat($urlMatcherFactory): add function to get a RegExp Type
fix($state): queue all state registration until runtime. closes #1435

- param Type(s) are not available until runtime because they can be injected. UrlMatcher requires Type. StateBuilder creates UrlMatchers. Therefore, states must be built JIT at runtime.
Made a defaultType that does string coersion and supports arrays (for params)