Fix AS::NumberHelper results with rationals

:precision was incorrectly being applied to Rationals

before:
  ActiveSupport::NumberHelper.number_to_rounded Rational(10, 3), precision: 2
  => "3.3"
after:
  ActiveSupport::NumberHelper.number_to_rounded Rational(10, 3), precision: 2
  => "3.33"
Update documentation to reflect unsubscription with name.
Avoid looping through subscribers when unsubscribing with a subscriber object.
pg, inline casting methods into `OID::Type` objects.

This inlines casting for the most obvious types. The rest will
follow eventually. I need to put some tests in place, to make sure
that the inlining is not causing regressions.

/cc @sgrif
test pg, add basic test cases for point datatype.
docs, fix typo [ci skip]
Merge pull request #15464 from tgxworld/improve_notifications_logic

Improvements to ActiveSupport::Notifications.
Merge pull request #15379 from xuanxu/rational_precision

Fix AS::NumberHelper results with rationals
just use `assert`