Added a start at a tool for fixing gThumb comments

*   tools/gthumb-comment-update.py: New file, containing a tool to set
    time zones on timestamps in photo metadata, and to convert the
    various comment formats used by different gersions of gThumb to the
    format expected by DyphalGenerator.  Not yet complete.

*   test/*: Moved to test/album/.

*   test/comments/*: New files to test gthumb-comment-update.py.
Finished core functionality of gthumb-comment-update.

*   tools/gthumb-comment-update.py: Added support for writing metadata
    back out, docstrings, and misc. cleanup and bug fixes.  It seems to
    work now.

*   tools/gthtime.sh: Removed, as its functionality has been replaced
    by tools/gthumb-comment-update.py.

*   install.sh: Install gthumb-comment-update.

*   bumpversion.sh: Set version and date strings in gthumb-comment-update.py.
Added a tool to encode camera names into file names.

*   tools/photorename.sh: New file, containing a script to encode a
    camera name into photo file names in place of meaningless strings
    like "IMG".

*   install.sh: Install photorename.sh.
Attempted workaround for touch events on IE:

*   www/dyphal.js: Added an attempt at a workaround for the failure of
    touch events to work on IE.  I have no idea if it works, because I
    don't have a Surface.
Fixed swipe navigation on Android.

*   www/dyphal.js: Wrote a work-around for Android's broken touchend
    events.

*   README: Mentioned that browser detection is used to work around
    Android's broken touchend events.

*   www/index.html: Commented on horizontal scrolling by touch.
Prevented content from flickering in the wrong places during page load.

*   www/dyphal.js: Ensure that photo and album stylesheets are loaded
    before loading any content.  Hide all content while swapping
    stylesheets.  This should prevent things from flickering in the
    wrong places while loading.

*   www/common.css: Removed an unnecessary property.

*   tools/gthumb-comment-update.py, tools/photorename.sh: Cleaned up
    some blank lines.

*   tools/photorename.sh: Header text.
Code simplification and fitPhoto tweaks:

*   www/common.css, www/dyphal.js, www/index.html, www/photo.css: Use
    HTML + CSS to show/hide the overlay and help text rather than
    JavaScript.  This removes most of the layout-related JavaScript
    code.

*   www/dyphal.js (fitPhoto): More tweaks to the photo sizing code:
    the photo wasn't displayed at its full size even when the window
    was big enough.

*   www/dyphal.js (fitPhoto): More tweaks to the photo sizing code:
    when the photo was bigger than the window, the window size used
    when scaling the overlay included scrollbars on some Chrome and IE.

*   www/dyphal.js: jslint cleanup.
Fixed bugs found in a full-workflow test:

*   tools/DyphalGenerator.py, tools/util.py: DyphalGenerator failed if
    a user attempted to install the template while an album was being
    generated, because the template installer tried to create a
    symlink that already existed.  Fixed it by removing the symlinks
    to directories, using the /proc paths for output, and having tasks
    call a lambda to get their output paths on demand rather than
    generating them up front.

*   tools/DyphalGenerator.py: Set the umask to 022 so that generated
    files are world-readable.

*   tools/photorename.sh: Rotate photos to the top-left orientation.

*   www/dyphal.js: Renamed the album list from "album-list.html" to
    "albums.html".

*   www/index.html: Removed the reference to thumbnails from the
    tooltip for the index button.
Fixed overlays on Android and some other bugs:

*   www/photo.css: Added a top border to footerPanel in compact layout,
    to match captionPanel and propertyPanel.

*   www/dyphal.js: Use the "keydown" event rather than the "keypress"
    event in order to support browsers other than Firefox.

*   www/dyphal.js, www/photo.css: Overlays were not appearing properly
    on Android <4.4.  It seems to not repaint elements whose styles
    change due to a checkbox changing state.  Worked around it by
    always touching some layout-related property when an overlay needs
    to appear or disappear.

*   www/index.html: Fixed an improperly closed tag.