Redid timezone to be more robust.
Fixed language_tracking cleanup to be more robust if multiple processes are
running the same code concurrently.
Added some temp code to allow me to switch out versions of autocomplete.js on the fly.
Arg.
Turns out we should serve jquery 1.x to IE 8 and older.  Added code to
automatically serve the correct version of jquery depending on the browser
UA string (via the browser gem).
Oops.
Forgot to include jquery_1.js
Okay, just switched back to jQuery 1.x across the board.  Probably safest this
way.  I don't know that it will fix our scrolling problems, but it seems to work
for Walt for the moment...
Told git to ignore <server>.files in /public/images directory.
Told it to ignore some more files in /public that are present only on the production server.
Made editing translations require successful user, and have account/verify email
us if "suspicious" user get verified.
Cleaned html stuff out of webmaster_question.
Tweaked "suspicious user" email.
The concept of a "personal herbarium" was a bit confused, and would, for
example vary depending on which language a user had chosen.  Due to languages
and since users can change the name of their personal herbarium, the concept
of identifying which herbarium is a user's personal herbarium really cannot
depend on the herbarium's *name*.  Thus I've added a column to herbaria
table which makes the concept explicit.  I do not do anything special to
ensure that there be only a single "personal" herbarium for a given user.
This will have to be ensured by any future code which modifies or creates
herbaria.  Might be a good idea to add a validation to Herbarium, though...
API can now create specimen at same time as creating observation.
Accept herbarium code for :herbarium parameter in POST /api/observations.
Cleaned up some HTML issues with herbarium views.
Fixed bug in image upload.  StringIO doesn't play well with FileUtils.copy_stream.
It insists on trying to treat the StringIO as ascii even when forced to utf8.
But, if I copy by hand it works fine for whatever reason.
Also had it ignore md5sum if blank.
Added Herbarium#sort_name to help herbarium index sort more intelligently.
Fixed some bugs associated with creating observations via api.