Append first five characters of ident to filename.  Closes #35.
A method to fail a job.

Failing a job means:

1. marking it as failed
2. removing it from the pending and working queue
3. expiring the job metadata

This is not intended to be user-triggerable.  Instead, the reaper will
call Job#fail as appropriate.
Bump pipeline version.  #35.
A quick fix for #39.

Closes #39.
Ignore all ?share=
Don't wait after ignored URLs.  Closes #41.
Ignore set registration shouldn't crap out if there's no ignore sets.

Brain#add_ignore_sets should always be called with zero or more ignore
sets.  It's possible, however, that params['ignore_sets'] could be nil
(i.e. if it wasn't set at all).

Arguably one could put this check in the caller or the callee.  The
caller seems more right to me, which is weird, since I'm not from New
Jersey.  Meh.  I'll fix it later if it ends up being a problem.
Add rubysl to ArchiveBot's gem environment for Rubinius.
Also ignore http://r-login.wordpress.com/remote-login.php
Make !igset reply message include the job name, too.

Not so important with !a --ignore-sets, but is important with !igset.

Also update command manual.
Add missing authorization check on !igset.
Move delay min/max to job settings.

This will eventually be used to permit runtime modification of
inter-request delay time.
Permit separate delay range for page requisites.

Browsers generally fetch all page requisites (e.g. images, CSS) as fast
as possible.  We're (usually) okay following in their footsteps.
Style fix.
Add !d(elay) and !reqd(elay) commands.
Document !delay and !reqdelay.
Bump pipeline version for the new delay code.
Quick backwards-compatibility hack for ignore set management.
We want to use queued_at for our hack, not started_at.

Using started_at fails for jobs that are waiting in the queue.
Delays are numbers, not strings.