Update version numbers for Circe 1.2 release.
tracking-next-buffer: Switch to buffer to force mode line update.

This seems to work, and better (more efficient) than the sit-for.
'defcustom circe-default-properties-alist' removed (obsolete)
circe-message-option-functions: docstring clarification
circe.el: correct two docstrings
shorten-join-sans-tail: new util for shorten.el
circe-message-option-functions: set defaults with add-hook

..so that an add-hook call before circe is loaded (e.g. in user's config)
does not clobber the default.
circe-display-NOTICE: fix test for server notices

A server notice has an originator nick, but the nick is the host name,
distinguishable from user nicknames by the presence of one or more dots,
e.g., "leguin.freenode.net".
added: HELP command
Merge pull request #64 from apchamberlain/master

added: HELP command
Fix some completion code that broke in Emacs recently.

This includes a test for Emacs' completion code, which seems to
break every few months.
circe-reconnect: Clean up process.

When using openssl/gnutls as the connection provider, it was
possible for Circe to establish two connections to the same server
in the same server buffer, causing to a lot of very weird problems.

This was due to the process getting killed while the sentinel was
still active, causing another circe-reconnect to be run and only
then the current circe-reconnect to be finished.

We now clean up the server process by first removing the sentinel.

Fixes #66
circe.el: allow :pass to be a function

This means we can pass off authentication requests to some other
password store when required.
Merge pull request #67 from stsquad/function-for-pass

circe-server-pass: Can be a function to query the password from the user.
Don't use add-to-list on local variables.

This is an abuse of add-to-list, and would not work if Circe is ever
ported to lexical scope.
Use circe-server-pass, not server name, ass password.

Fixes a typo in the last commit.
circe-server-send-queue: Ensure buffer is alive.

When killing the server buffer shortly after a burst of messages, it
was possible to get a buffer killed message here. There is no need to
do anything when the buffer is dead, so just do nothing then.
Update version numbers for new release
circe-nickserv-ghost: Check for nickserv password.

When `circe-nickserv-password` is nil, this function would throw an
error, so check for that before running it.
circe-color-nicks.el: Overhaul how colors are picked.

Instead of picking random numbers and seeing if they're appropriate,
pre-compute a pool of colors that are appropriate and also distinct
from each other.  Exhaust this pool, then every time a new color is
needed, pick the color that least recently appeared on screen (save
timestamps within the nick->color mapping).

Also did some general cleanup.