docs($resource): note methods list is non-exhaustive

The existing documentation for custom action methods implies that only a small
list of upper case methods can be used for custom $resource actions.
refactor(input): use validate() in all  validations
refactor(input): return value from validate() even if invalid

This doesn't break any test since the model will still be assigned with undefined the moment $$runValidators is invoked
feat(ngModelOptions): add allowInvalid option

This options allows to getting invalid values on the model instead of having them become undefined.

Closes #8290