Add template files for generic1 theme

This is very similar to the index.html and main.html templates that were,
until recently, the ones provided in the repository in the theme-editor
branch.  (I gutted those in 2809fed.)
Move body padding from elements/html to generic1 theme

Other themes are not going to need this hack of adding 60px to the
top of the page (so the floating navbar doesn't obscure anything).
So, implement this hack in a proper theme-specific way by putting it in a
LESS file.
Add missing </div> tag in loginbox_content.html
Tweak theme editor spacing slightly
Make ESPUser.getAllUserTypes() rely entirely on Tag

Rather than trying to merge the Tag data with some default, this now takes
the Tag-specified types verbatim if the Tag is set.  If the Tag
(user_types) is not set, you get the default user types.
Use inline QSD block in generic1 index.html template so it's editable
Adjust the default navbar and sidebar to look palatable to most users

This took out some dead links and compressed the admins' links somewhat.
Make ThemeController.get_theme_names() ignore non-directories in theme_data
Use a Tag to provide constant params for template context

This new tag 'template_theme_control' is merely used to store a
theme-dependent configuration structure.  This is so you don't have to
edit template overrides in order to affect the rendering of templates
within a particular theme.

The JSON formatted contents of the tag are dumped into the 'theme' context
variable in render_to_response(), so any elements within the data
structure can be accessed within templates via {{ theme.* }}.
Add theme setup page that can show theme-specific forms

The generic templates process originally had 2 steps: selecting from
available themes, and customizing the appearance of the theme.  Because
the 2nd (and more complex) step is using Vikrant's theme editor and I
don't want to mess with it too much, I decided to just add another step,
which happens in between selecting a them and customizing the appearance.

Why is this necessary?  It's impossible to write truly generic templates
without having some per-site customization of the *content* in addition to
the *appearance*.  There are some things that different chapters are going
to want to do differently, from the way they format the footer to the
organization of navigational links.  Many chapters may not want to edit
the templates directly to impose these changes.

So, our new step collects information from the chapter admins immediately
after they select which theme their site will be using.  Themes can
optionally define a Django form class in config_form.py; if it exists,
then the user can view this form on the /themes/setup/ page.  When they
save the form, the resulting data will be stored in a Tag and show up
as the {{ theme }} variable in template rendering.

There is no need for this form to collect information like colors and
fonts, which are already handled by LESS files and the theme editor, but
they can collect textual and structure information.  A good example would
be the ordering and labeling of the side tabs in the MIT theme.
Add setup form for generic2 theme

Making use of the infrastructure added in recent commits, this change
allows the generic2 theme to be configured.  Configurable settings include
the title and subtitle text, the programs to be featured on the sidebar,
and the structure of the navigation tabs that appear at the top of every
page.  The latter is done using a complex new form field that may be
useful for other themes in some form.
Make sure that 'onsite' elements are visible to admins
Add 'featured programs' to sidebar

Stanford had the bright idea of putting a link directly to student/teacher
reg for their current program on their sidebar, so that people could get
there in 1 click no matter where they were on the site.  Unfortunately,
this required manually editing the template override for each program.
The idea here is to make such behavior configurable by having a set of
'featured programs' selected on a form.

This is only supported in the generic2 theme right now, but it's possible
that should change.
Remove hardcoded stuff from generic2 templates

While the content from the design demo is still present on the homepage,
it's in an inline QSD block so that it can be changed/removed easily.
Meanwhile, the hardcoded stuff in main.html is replaced with references to
theme setup settings, Miniblog announcements/links etc.
Add images and scripts for generic2 theme

I had forgotten to put these in earlier.

When the theme is applied to a live site, the images will be copied into
/media/images/theme, which is within the Dropbox area... so that the
images can be edited by chapter admins.  (No need to make a template
override and reference a different image.)