Add has_secure_token to Active Record

I take the audacity of include has_scure_token to Active Model since the implementation is using methods that are implemented in most of popular ORMs or ODMs in ruby, like `exists?`and `save`, is just as suggestion and for sure I'm open to move it to Active Record anyway :smile:. Is still missing documentation but I'd like to hear first opinions about the implementation/code

**Usage**

```ruby
class User < ActiveRecord::Base
  has_secure_token :token1, :token2, key_length: 30
end

user = User.new
user.save
user.token1 # => "973acd04bc627d6a0e31200b74e2236"
user.token2 # => "e2426a93718d1817a43abbaa8508223"
user.regenerate_token1! # => true
user.regenerate_token2! # => true
```

ref #16879

cc @dhh 
Updated comment:

SecureRandom is used to generate the 24-character unique token, so collisions are highly unlikely. We'll check to see if the generated token has been used already using #exists?, and retry up to 10 times to find another unused token. After that a RuntimeError is raised if the problem persists.

Note that it's still possible to generate a race condition in the database in the same way that validates_presence_of can. You're encouraged to add a unique index in the database to deal with this even more unlikely scenario.