Add option to obey autoescape in Jinja2 context

Default behavior is unchanged with this commit.

If the user passes autoescape=True to the Markdown constructor,
usage of the |markdown filter in Jinja2 templates will now
autoescape the content before passing it along to Markdown if
autoescape is enabled in the current evaluation context, as it
is by default in Flask for common template extensions (.html,
.htm, .xml, and .xhtml).

This commit also reworks the nose tests to use module- and test-
level setup and teardown functions to prevent conflicts with the
@app.route decorator.