added description of MySQL Connector/Python

Reorganized the MySQLdb section into a "MySQL DB API Drivers" section that describes both MySQLdb and MySQL Connector/Python. Included description of the Django adaptors for these DB API drivers.
Fixed #21351 -- Replaced memoize with Python's lru_cache.

Replaced the custom, untested memoize with a similar decorator from Python's
3.2 stdlib. Although some minor performance degradation (see ticket), it is
expected that in the long run lru_cache will outperform memoize once it is
implemented in C.

Thanks to EvilDMP for the report and Baptiste Mispelon for the idea of
replacing memoize with lru_cache.
Fix syntax error under Python 3.2.
Fixed #21420 -- Autoreloader on BSD with Python 3.

Thanks Bouke Haarsma for the report.
Merge pull request #1906 from DanSears/master

Added description of MySQL Connector/Python
Fixed #9523 -- Restart runserver after compiling apps translations

Django also uses locales provided by apps, which also might change. Also when
i18n is disabled, there is no need for watching translation files.
Fixed #20990 -- Ensured unicode paths in compilemessages

Thanks Gregoire Astruc for the report and furins for the review.
Fixed #21388 -- Corrected language code for Frisian
Fixed #21420 once more.
Fixed #21421 -- Added level_tag attribute on messages.

Exposing the level name (e.g. "info") makes it possible to prepend
something to the class name. For example, Twitter Bootstrap has
an alert-info class. This class can now be added to the message
using `class="alert-{{ message.level_tag }}".
Because the level_tag was on the end of the `tags` property, it
could not be used in this fashion when extra_tags were given.
Fixed #21423 -- Fixed typo in widgets.py.
Merge pull request #1907 from Bouke/tickets/21388

Fixed #21388 -- Corrected language code for Frisian
Flake8 fixes -- including not runnign flake8 over a backported file