Tweak display of "Log in" and "Sign up" buttons in fruitsalad
Lay out registration page vertically
Default theme configs in get_template_settings

Uses default theme config values in get_template_settings(). Also adds
a default value for fruitsalad's front_page_style.

Previously, the template settings were only those specified in the
theme_template_control Tag. Now, they also include the defaults of any
configs that may not be saved in that Tag.

When a new config is added to the repository, it will not be saved in
the Tag until the next time the theme is recompiled. Until that time,
the template variable will resolve to ''. For some settings, this can
be bad. For example, if front_page_style == '', then index.html will try
including a template whose name is ''. Since this template does not
exist, the include will fail, and the front page will be completely
blank until the next recompile. This commit avoids this problem by
providing for a safe default.
Fixes bug with getting host

When there is no request (such as when using the shell),
get_current_request() returns None, and trying to access request.META
fails. Work around this to get the host by instead using the SITE_INFO
setting when there is no current request.
Adds missing https protocol in link
Fixes bug with null form_class for default theme
Adds link to fix HTML validation
Removes extra </div> and fixes indentation
Replace protocol with relative reverse-url lookup
Fixes loginbox dropdown menu

Wraps the loginbox dropdown menu and toggle in a span.dropdown. Without
this, the menu was appearing at the bottom-left of the page instead of
at the toggle location.
Fixes other loginbox dropdown menu
Upgrade Markdown, deprecate esp.lib.markdown

Add Markdown 2.3.1 from the PyPI repositories, and enable
django.contrib.markup which provides the |markdown template filter.
Use these instead of esp.lib.markdown and
esp.lib.templatetags.markdown respectively, and update
esp.lib.markdownaddons for the API changes.
Remove esp.lib.markdown
Fixes to MIT theme tab colors

Previously the correct tab color for a page was not selected in many
cases.  This fixes the bug and also cleans up the function that's
picking it.
Changes error500() to use RequestContext

Resolves part of Github Issue #946.
Adds dbmail migration expire_unsent_emails

Adds a migration to expire old, unsent messages, so that the code
changes from 6e350a3735 do not cause out-of-date emails to be sent.
Adds migration constraint to dbmail cronmail

Requires that the expire_unsent_emails migration has run before allowing
cronmail to process or send emails.
Converts ZipCode initial_data fixture to migration
Remove esp.lib.markdownaddons and the associated QSD file-upload.

The QSD page editor used to have a feature where, if you're editing a
page that has a link starting with qsdmedia/ that doesn't resolve to
anything, it allows you to upload a file to that location.

This feature was broken in 17db658464fbdc because the file upload
infrastructure changed and so the files now go to a different
location from where the links point.

Removing it because it is ill-documented, counterintuitive, and
unnecessary bloat. A better way of uploading files from the QSD editor
may be implemented in the future.
Adds script to manually install certain packages

In particular, it has been problematic to install the correct versions
of node and node-less. Fixes this problem by installing them manually
from .deb files available online.