Switch to mysqli_real_escape_string on some pages.

We still have a mix of pages using mysql and mysqli; I haven't touched the former, but all pages should now be internally consistent. Fixes #30.
Remove diagnostic outline around fossil info.
Make search tools subtractive (vs. additive)

In other words, each tool used should further limit the results, so that only a
calibration that matches everything will appear. Fixes #34.
Careful matching of multiple simple-search terms.

Each term is matched independently; only calibrations that include *all* of the
matched strings (and match all other active filters) will be included in search
results.
Show and edit captions for calibration tree image.

Also, allow "oversized" images; viewer can click the initial "thumbnail" image
to see it full-size in a new browser window. Fixes #46. Fixes #50.
Remove 'show as search results' from non-clades.

Fixes #51.
Add support for primary linked fossil.

We now store an ID (from Link_CalibrationFossil) for each calibration.
This primary fossil is featured on the calibration display page, esp. its
phylogenetic justification. Other fossils should ony appear in API results.

Fixes #40. Fixes #43.
Hide all but a calibration's primary fossil.

Addresses #40.
Fix saving pre-existing species name for a fossil.

Possible fix for original symptoms in #54.
Protect the Manage Publications page (requires admin)
Fix missing (default) linked fossil in calibration view

This now properly recognizes when the primary-fossil marker has not been set.
In these cases, we assume the first (probably only) fossil is the primary one.
Fixes #58.
Add Manage Fossils and Edit Fossil pages, related logic.

This includes smart detection of linked calibrations for each fossil;
improvements to the Show Calibration page; and added menu items on the
Administrative Dashboard. Addresses #42.
New display for "relaxed" (non-unique) locality names.

Instead of showing the geological age, we show the locality name and stratum
name (if found) to help in choosing a locality record. Addresses #41.
Debug and clean up the Show Calibrations page.
Simple validation check for empty fossil collection number.
Fix old publication-related var names
Remove redundant form ID.
Add features to edit fossil collections

This includes reporting of related fossils, with these consequences:

 - Attempts to delete a collection that's assigned to 1 or more fossils will be blocked until the admin deletes those fossils or (more likely) re-assigns them to another collection.

 - When a collection's acronym is changed, the new acronym will be applied to any fossil that was using the old one.

Addresses #42.
Validate "new" collection acronym to prevent duplicates

This will warn and block submission of a new fossil if its new collection would
re-using an existing acronym. This is a case-insensitive test against the raw
*and* trimmed string. Addresses concerns in #42.
Test for duplicate acronym ONLY on new collection!

Addresses #59