Replace LogAnalyzer with a few smaller scripts.

The cogs program is suffering from inexplicable memory leaks and/or
process bloat.  (I can't tell which one is actually happening.  Hell,
both might be occurring.)

This commit, and indeed this branch, are an attempt to rewrite cogs in a
memory-conscious way.  The programs here are meant to be glued together
with e.g. socat, ucspi-{tcp,unix,...} and operate on streams without
uncontrolled object instantiation.  (Possible exception: the
zrangebyscore call in analyze-logs.)

I've run these programs on the production ArchiveBot Redis updates
channel, and have noticed much more acceptable memory usage over time.
Next step: disable the LogAnalyzer actor, replace its duties, and see
just how we do.
Remove unused stringio import.
A simpler LogTrimmer.
Remove superfluous subdirectories.
Remove old log analyzer and log trimmer cogs.
Remove unnecessary signal traps.
Reimplement JobRecorder.
We don't need to use tcpserver/tcpclient.

Originally, I thought that I could get away with using one Redis
subscription and attach all the cogs processors to that.  Then I
realized:

1) If I wanted to use tcpserver, that wouldn't be possible: the only
   shared state between connections is whatever shared state separate
   instances of a given program have.

2) I really didn't want to write my own server.

3) It doesn't matter: 4-5 subscribers is really not noticably slower
   than one or two.

The server/client bits are therefore relics of premature optimization,
and you know what everyone says about that.
Disable old JobRecorder.
Introduce log-firehose, a utility to spit out job logs.

This seems to exhibit saner memory usage patterns than the dashboard's log
broadcaster.  (And if it doesn't, there's a lot less going on, which
should make it easier to understand.)
Make dashboard accept input from log-firehose.
A program to show idents of all jobs in the working set.
Add a utility to retrieve up the most recent N log entries for a job.
Disable ArchiveFinder.

ArchiveFinder hasn't been updated to handle the multi-WARC paradigm that
ArchiveBot now uses, and I think its current incarnation is
overengineered.
Remove unused cogs.
Move new cogs into their own directory.

These programs will have their own specs and dependencies, so might as
well isolate them.
A utility to reverse the pending queue.

Sometimes we end up with high-priority !a items below lower-priority !a
items.  This is one way to fix that situation.  It's a coarse solution,
but it's easier to use than a finer-grained queue manipulator.
Merge branch 'master' into next
pipeline: Added queue counter based upon queue hooks
bot: Added display of queue counter to status