WiP: Support more types of git URL in THEME_URL

The code that extracts the theme name from each entry in
THEME_URLS (in order to require code from a directory
named based on that theme name) only supported git URLs
that ended in '.git'.  However, it is useful to be able
to use a wider variety of git URLs in THEME_URLS - for
example, non-bare repositories conventionally don't have
a .git extension.  This commit allows you to use other
types of URLs, for example:

   /home/whoever/themes/blah-theme => blah-theme
   /home/whoever/themes/blah-theme/ => blah-theme
   git://wherever/blah-theme.git => blah-theme
   ssh://wherever/blah-theme.git// => blah-theme

This is marked WiP, since the conversion of URL -> theme
name should be factored out and only done in one place,
and theme.rake does this simpler - File.basename(s, '.git')
is equivalent to the two substitutions here.
Add a script to help switch theme for local development

When working locally, it's useful to be able to switch between
themes quickly, which essentially involves:

  - Changing one of the URLs in THEME_URLS in general.yml

  - Updating the public/alavetelitheme symlink

  - Making sure that the theme exists as vendor/plugins/<theme-name>

This script lets you switch between themes kept in a directory
which is by default called alaveteli-themes at the same level
as your Alaveteli git repository, or can be overriden by the
environment variable ALAVETELI_THEMES_DIR.