(Bug 4860) Pre-fetch textcaptcha items and store them in the DB

We should be nice to both our users and the textcaptcha service. We
pre-fetch several hundred items with a 1-second delay so we don't hammer
the textcaptcha service with too many requests too close together at
active hours.

When we need a captcha, we check our DB first. If we run out, then we
do a remote fetch. This should also make the captcha show up more
quickly to users.
(Bug 4239) Mark deleted crosspost accounts as inactive

Keep the metadata (sans sensitive info), so that we don't break
importing, and we can maybe adjust the crosspost link display settings
later on.

Also adjusts the places where we load the External/Account info so that
we fetch the active status, and filter to only show active accounts in
most cases
Reversed the logic for logging this statement. Oops
Merge pull request #248 from afuna/fix-logging

Reversed the logic for logging this statement. Oops
(Bug 4855) Get the first non-DOOO entry when importing

Getting the latest entry via the protocol gives us the latest entry
according to eventtime (user-provided time) rather than logtime.
Sometimse this could be a DOOO entry, which then means that everything
after that DOOO entry will not be imported. So let's try to find the
first non-DOOO entry, as that will be the latest according to logtime.
Merge pull request #249 from afuna/import-dooo-first-entry-bug4855

(Bug 4855) Get the first non-DOOO entry when importing
Sphinx improvements, comment indexing

Performance improvements:

* Do not use AUTO_INCREMENT, use a better PRIMARY KEY that InnoDB that
reflects the data access patterns. (All accesses are either single-items
or groups-by-journal.)

* Use COMPRESS to save disk space.

* Don't copy entire journals every time something updates.

* Only copy once when imported -- at the end.

Functionality improvements:

* Add comment indexing and searching.

* Support delta indices for faster indexing cycles.

IMPORTANT: These changes are backwards-incompatible with search
installations. If you deploy this code, you will need to update
your database schema and delete the table and reimport (to get the
compression).
Make sphinx-copier status-line readable
Fix case where OpenIDs get underscores

URLs should have dashes. This is one case where that happens.
Fix miscellaneous Sphinx DB usage

These two codepaths use the Sphinx DB. The table changed.
(Bug 4871) rename search column journal_id to journalid
Merge pull request #251 from alierak/searchdb-bug4871

(Bug 4871) rename search column journal_id to journalid
(Bug 4869) Added proper layering of entry and header backgrounds
Bug 4859 - Administrator status emails use "maintainer"
http://bugs.dwscoalition.org/show_bug.cgi?id=4859
-- use administrator instead of maintainer
-- slight rephrasing
Bug 4859 - Administrator status emails use "maintainer"
http://bugs.dwscoalition.org/show_bug.cgi?id=4859
-- better phrasing
Bug 4873 - Replace 'maintainer' with 'administrator'
http://bugs.dwscoalition.org/show_bug.cgi?id=4873
-- replace maintainer with administrator in various text strings
-- edit or rename strings to prevent snafus
-- add dead strings to deadphrases
Bug 4840 - Librarian's Dream: header overlaps nav strip
http://bugs.dwscoalition.org/show_bug.cgi?id=4840
-- Remove negative margin in header to prevent overlap
Bug 4822 - Remove extra padding in inline lists
http://bugs.dwscoalition.org/show_bug.cgi?id=4822
-- Remove margin and padding in tags and icon keywords inline lists in various styles
Bug 4782 - Layout styling for contextual hover menu may need looking at
http://bugs.dwscoalition.org/show_bug.cgi?id=4782
-- Update CSS to use new nomenclature
-- Update CSS to remove extra styling such as border-radius
-- Match link colors to background color for better readability
-- Removed now redundant CSS due to better color matching
Bug 4782 - Layout styling for contextual hover menu may need looking at
http://bugs.dwscoalition.org/show_bug.cgi?id=4782
-- cleanup: I went a different way and no longer needed these