bitlbee :nickserv-mask: Accept both root and bitlbee

This is a recent change in bitlbee, and a number of users still
use a version that uses "root". So support both.
Regard users as being lurkers again after a time of inactivity.

Active (non-lurker) users are regarded as being inactive again after
`circe-active-users-timeout' seconds.

Related functions/variables:
`circe-active-users-timeout'
`circe-lurker-mark-as-active'
circe-channel-users-synchronize: Fix and add proper initial-name handling.

If we just mark the initial users as active, they will emit part/quit
messages even if they never talked.  But we also don't want Circe to
emit a "first activity" message for these users, so we give them a
property `initial-names' and check for that in the mark-as-active
function to omit their first-activity message.
Track recently-parted non-lurker users and show their JOIN.

Upon parting/quitting, an active (non-lurker) user is added to
`circe-recently-parted-active-users', from which they are removed
after `circe-parted-users-timeout' seconds.  If a user re-joins before
the time-out, they emit a re-join message.

Related functions/variables:
`circe-parted-users-timeout'
`circe-format-server-user-rejoin'
`circe-channel-add-user'
`circe-channel-remove-user'
`circe-channel-parted-users-cleanup'
`circe-channel-parted-active-users'
`circe-lurker-mark-as-active'
Revert "circe-fixes: Remove bugfix for minibuffer (included in 24.3)"

This reverts commit e28ec5e3e8071538d4792b4303cd3d0d1a8ac641.

Emacs 24.3 is still not out ...
circe-use-cycle-completion: Default to nil.

Added a note about circe-fix-minibuffer.el to the docstring for
users who wish to use cycle completion in 24.2 and earlier.
Push version to circe-1.1, tracking-1.2, lui-1.1
build.sh: Use correct versions for packages that don't change.

This used to use "lcs-1.1" as the version instead of "1.1".
circe-fool-face: not bold in X

In situations where this face is together with other faces in a single
message, text color may come from another face (depending on precedence),
but the bold attribute contributed by circe-fool-face then serves to
emphasize the message, counter to the intent of the 'fool' system.  This
change only affects X; the bold attribute is kept for tty, where styling
choices are more limited.
circe-server-message: Don't add the server face here.

This is done by circe-display for server messages. Doing it here
will make it show up twice.
circe-lurker-p: Handle the case where circe-active-users-timeout is nil

If there is no timeout, the user is not a lurker.
circe-color-nicks.el: Handle "unspecified-bg" and "unspecified-fg".
circe.el: Typo in the description (also affects package README)
circe-lurker-p: Use the last-active information instead of lurker-p.

Storing 'lurker-p as a user info was quite contrieved, as it was
only ever set with value nil and then queried with a default value
of t to check for lurkerness. With the introduction of 'last-active,
we have a much better metric for that. This simplifies the code in
`circe-lurker-mark-as-active` as well.
lui.el: Fix some compile errors.

The call to `help-xref-interned` was missing the required library,
and `redraw-modeline` is an obsolete alias for `force-mode-line-update`,
which already exists in 23.4, so can be used safely without
backward compatibility issues.

Fixes #45.
circe-duration-string: Rewrite.

The old code was pretty buggy and could return the empty string in
a few corner cases. The new one should be correct.

Added some tests to make sure it does.
test-local.sh: New script to run our tests.

There's a hook to add local Emacs installations for those developers
who have more than one for testing.
circe-command-WL: Print the list of missing members as a single line.

The old implementation spammed the buffer. The new doesn't. Muuuch
better.
circe-lurker-p: Rewrite to be explicit about what it does.

At least I can now follow the logic more easily.
circe-duration-string: Round DURATION, for integer-division to work.

Also remove superfluous comment.