Fixed some encoding issues with set_cookie helper.

First, the %a and %b markers of strftime are locale sensitive and may
give non-English day / month abbreviations depending on the current
locale. Such localized abbreviations may contain non-ASCII characters
that trouble some web servers (e.g. gUnicorn throws a Unicode error).
It's fine to just let Django figure out proper values for expires and
max-age.

Secondly, Django silences CookieErrors raised when setting cookies
with keys with unsupported characters, which results in sending cookies
with None for their key and value.
It seems that the code that is responsible for this was introduced
with parsing of cookies received by server in mind (see ticket #13007),
so the legality of keys when setting new cookies may be enforced (to
help with forgetting to do some proper encoding of dynamic keys).

Thirdly, a few months ago Django introduced a workaround for cookie
values with Unicode characters in Python 2 (#19802). Included the
change for use with older Djangos.
Separated mezzanine.utils tests into a new test case. Added a check for
import_dotted_path return value.
Coded an override_locale context manager for use in tests.

The manager handles changing the locale in a thread-safe way and skips
the (whole) test in which it is used if the locale is not available.
With Python 3 may also be used as a decorator.

Note that for a locale to be available it must be installed for the
operating system. On *nixes you you may check what is available using
"locale -a" and for instance on Ubuntu add more locales using "apt-get
install language-pack-xx".
Added a test case for the set_cookie encoding issues.
Helped syntax checker with file encoding declarations.

PEP-263 states that "If a Unicode string with a coding declaration
is passed to compile(), a SyntaxError will be raised" (under
"Implementation"). However. compile() can deal with Unicode
strings, just without the declaration.
Django 1.4 and Python 2.6 compatibility for the set_cookie changes.