* fix error return rule to allow multiple error return values
please check golint related updates here: golang/lint@8379672
When returning multiple values with an error,
lint checks if the error is the last return value.
But the implementation actually is checking for all return values
except for the last one, and throw the alert if it found an error.
There is a (edge) case where some function returning more than one error
is getting a false positive even when the last return value is an error.
This patch adds an early check, to see if the last return value is an error
and if so, it will pass silently.
* Fix return error
* add test changes
* Fix rule for documentation of exported types
The rule was failing in the following case:
```go
// A is an awesome type
type A = int
```
Because revive was skipping the leading `A`, considering it as an article.
* Add "This" article and update Makefile