[WIP] formatter refactored

refactored date formatting functions based on #3790

fixes #2359

- removed unformat methods, they do not belong here
- removed db format, which is also not purpose of this class
- refactored the whole set of methods to be simpler and better
  maintainable

More unit tests needed.

TODO:

- [x] refactor number formatting functions
- [x] support numberformatter options
- [ ] make asSize compatible with number formatting
- [ ] make format config compatible with the datepicker extension
- [ ] unit tests for date time functoins
- [ ] unit tests for number formatting
- [x] update docs public API
- [ ] update docs protected API
- [ ] update guide
- [x] https://github.com/yiisoft/yii2/commit/f3520187d62a28d5f9d1854f47467b563e6784a6
- [x] https://github.com/yiisoft/yii2/commit/46b553f01245daba6ba6e099bb35e1ebb8d0cb7e
- [ ] CHANGELOG + UPGRADE note + rename references
`guggach\helpers\Formatter`? 
should mention that `formatter` is declared as a core application component and can be customized via app config.