(#19058) Deprecate var access via methods in templates

The behavior of trying to use method_missing for providing access to scope
variables has created a slew of bugs and confusion for users. This
deprecates the method call syntax for accessing variables in favor of the
instance variable syntax.

In order to issue a useful deprecation warning, this needs to eagerly
evaluate the line number of the method call in the ERB template, which
reverts the lazy evaluation that had been put in as a performance boost.
However, since this syntax is now deprecated, users can switch to the
instance variable syntax to get the performance boost.

This depends on GH-1446 since it is based on a lot of the test cleanup done there.