Fix examples of number_to_percentage

[ci skip]
Use the canonical router on the CHANGELOG entry

Thanks @egilburg

[ci skip]
Revert "Fix SyntaxError in guides sample code"

This reverts commit f573df32d43c413a5098721ba6151ff190c23c6c.

The original idea of this documentation was to showcase the feature
where you can remove some only queries attributes with a single
key-value pair.
remove duplication in test
Merge pull request #11491 from erichkist/ek-revert-unscope-patch

Revert "Fix SyntaxError in guides sample code"
Merge pull request #11492 from maratvmk/concern_test

remove duplication in concern_test
use the superclass implementation
fix typo in Active Record Validations guide. [ci skip].

Closes #11498.
Add `#any_of` query method to active_record

This method is inspired by [any_of from
mongoid](http://two.mongoid.org/docs/querying/criteria.html#any_of).

It allows to compute an `OR` like query that leverages AR's `#where` syntax:

    manual_removal = User.where(id: params[:users][:destroy_ids])
    users = User.any_of(manual_removal, "email like '%@example.com'", {banned: true}).destroy_all

It can be used directly on model class, or through an association, or
behind an other relation.

    manual_removal = User.where(id: params[:users][:destroy_ids])
    User.any_of(manual_removal, "email like '%@example.com'", {banned: true})
    @company.users.any_of(manual_removal, "email like '%@example.com'", {banned: true})
    User.where(offline: false).any_of( manual_removal, "email like '%@example.com'", {banned: true})

Its main purpose is to both :

* remove the need to write a sql string when we want an `OR`
* allow to write dynamic `OR` queries, which would be a pain with a string

There's also a negative version, `#none_of`. This will return all active
users :

    banned_users = User.where(banned: true)
    unconfirmed_users = User.where("confirmed_at IS NULL")
    active_users = User.none_of(banned_users, unconfirmed_users)