Correctly track line numbers for multi-line code blocks

Improved the line-number tracking for source lines inside of Python  ``<%
... %>`` blocks, such that text- and HTML-formatted exception traces such
as that of  :func:`.html_error_template` now report the correct source line
inside the block, rather than the first line of the block itself.
Exceptions in ``<%! ... %>`` blocks which get raised while loading the
module are still not reported correctly, as these are handled before the
Mako code is generated.  Pull request courtesy Martin von Gagern.

Closes: #297
Pull-request: https://github.com/sqlalchemy/mako/pull/297
Pull-request-sha: 60ad749604f8de0a9b8133430995045a93d0939c

Change-Id: I2086e4370e8e2db7099de01743840286f0160efc
4 files changed