Switch to using a SQLite3 database for spambayes classifier training data, instead of a pickle file.

Author: exarkun
Reviewer: mithrandi

The reasons for preferring SQLite3 are manifold. Performance, reliability, inspectability,
and maintainability should all be improved by this change. An upgrader is included, of
course, to convert old data. However, the old pickle file is left in place for manual
deletion afterwards, at the discretion of a system administrator.

Add extra help for making sure the batch process is started when it is needed.

Any time a remote work item is added, check to see if the batch
process needs to be started. This ensures remote work items
are processed in a slightly more timely fashion than was
previously the case.

Previously the POP3 grabber would fail with an AttributeError if a timeout occurred on the
POP3 connection. This was caused by trying to set the status on the grabber object after
the reference to the grabber object had been discarded. When trying to set the status, the
code now first checks to see if a grabber object is available to do that.

Fix several broken uses of the deleted scheduler item type from the Quotient POP3 grabber code.

The scheduler item was removed a while ago. Several untested code paths through the POP3 grabber still used it, though. These are now changed to adapt the store to IScheduler instead. New tests are also added for them.