Use TS::Cache instead plain Hash in TimeZone.

Plain ruby Hashes are not thread safe.
Unify AS::TZ's lazy init maps.

There's no point in having 2 almost identical (@lazy_zones_map and @zones_map) lazy initialized TZ instance caches.
Remove AS::TZ.lookup(name).

The method doesn't really make much sense (find_tzinfo will succeed for any imput provided).
Merge pull request #11796 from thedarkone/time-zone-thread-safety

AS::TimeZone's cache thread safety
Use genderless pronouns in API docs
EscapedString is also private API [ci skip]
Merge pull request #13123 from chancancode/json_encoder_nodoc_fix

JSON encoder internals showed up in docs [ci skip]
Use .railsrc while creating new plugin if available

- Fixes #10700
Merge pull request #10712 from prathamesh-sonpatki/plugin-railsrc

Use .railsrc while creating new plugin if available. Fixes #10700
Use genderless pronouns in security guide. [ci skip]

related  #49ff20d9b164693ed7fee880b69cc14b141678b3
Merge pull request #13126 from vipulnsward/gender_neutral_pronouns

Use gender - neutral pronouns in security guide.
[ci skip] Removing some gender sensitive object pronouns
Update API docs guidelines with reference about gender neutral pronouns
Add examples for gender neutral pronouns
Merge pull request #13130 from gja/master

Removing some gender sensitive object pronouns
Try to escape each part of a path redirect route correctly

A path redirect may contain any and all parts of a url which have different
escaping rules for each part. This commit tries to escape each part correctly
by splitting the string into three chunks - path (which may also include a host),
query and fragment; then it applies the correct escape pattern to each part.

Whilst using `URI.parse` would be better, unfortunately the possible presence
of %{name} parameters in the path redirect string prevents us from using it so
we have to use a regular expression instead.

Fixes #13110.
Cleanups in API docs: his => their