Add smarty to extensions for attr_list test

To make it easier to notice (and fix) the failure.
Fix issue308 and fix (unrelated) failure to break out of nest loop.
Merge pull request #310 from ryneeverett/issue308

Fix issue308 and fix (unrelated) failure to break out of nest loop.
Upped version to 2.4.1
Support extensions as modules.

Fixes #300. When a python module (.../__init__.py) is imported by `__import__`
and the `from_list` argument is a unicode string (as is returned by
rpartition), then an error is raised in Python 2.7. Force conversion to default
string type (byte in 2.7 and unicode in 3) to avoid the error.

For a full explaination, see issue
[300](https://github.com/waylan/Python-Markdown/issues/300).
Make it easier to override list of inline patterns for InlineProcessor
Make smarty extension use its own InlineProcessor
Merge pull request #311 from mitya57/master

Make smarty extension work together with attr_list
Merge upstream 2.4.1