feat(ngModel): provide support for promise-based validators
feat(ngModel): provide validation API functions for sync and async validations