Add ActiveSupport::Inflector.constantize_only

This works like `ActiveSupport::Inflector.constantize`, but additionally checks the constant against a provided whitelist, which is useful for constantizing user input, e.g. from params.

```ruby
'Module'.constantize_only('Module')         #=> Module
'Test::Unit'.constantize_only('Test::Unit') #=> Test::Unit
```
Internally this uses `safe_constantize`, so `nil` is returned when the name is not in CamelCase or the constant (or part of it) is unknown. `NameError` is raised when the name is not whitelisted.
I think we should add tests for this under `string_ext_test` too. https://github.com/rails/rails/blob/87228a207cdbeea8663a41ef86d661575522e957/activesupport/test/core_ext/string_ext_test.rb#L267 :smiley_cat: