Don't always print deprecation on String#to_money

Other `to_money` methods are not printing the deprecation warning when
`Money.silence_core_extensions_deprecations` is true, so this brings the
behavior of Strings in line with Numeric objects.
Move silencing to `Money::deprecate`

Remove duplication of checking for deprecation silencing by moving the
check into `Money::deprecate`.