Little fix for circe-ignored-p

`run-hook-with-args-until-success' takes a symbol as its first
argument.
circe-display-NICK: Handle case of no `circe-channel-users`

This display function can be called in some buffers with no
`circe-channel-users`, e.g. query buffers, so only update
`c-c-u` if it exists.
Major cleanup to make releases possible.

This extends build.sh by a release command. tracking.el and lcs.el
were changed to elpa conformance. circe and lui now have separate
marmalade packages. Also, license for a number of packages were
changed to GPLv3 from v2.

Fixes #8
Fixes #23
lui-scroll: Support different scrolling types to accomodate Emacs.

Since Emacs 24, the old scroll-to-bottom behavior using
`window-scroll-functions' is recommended against directly in the
docstring of that variable. There is at this time no good solution
to achieve this. Various Emacs modes implement different solutions.
This commit makes Circe use any of the popular ones, defaulting
to the most compliant one.

The compliant behavior, setting `lui-scroll-behavior` to `post-output`,
should also solve speed problems with the old solution and therefore
fixes #25.
Version confusion: Circe is now 0.5 devel
circe-reconnect: Use the sentinel for TLS errors, too.

TLS connections do not use the process sentinel on connect, so
we do not reconnect when an error occurs. This commit changes
the code of tls connection to call the sentinel on a connection
error, too. As a most important effect, this means TLS connections
also honor `circe-server-max-reconnect-attempts`, and thus
fixes #2.
refactor logging to use single timer and hash-table for queue

This fixes #24. It also removes the lui-logging-flush-perturbation
customization.
elpa build: Create pkg file, don't compile ELPA releases.

Also adjust versions to "0.5 devel" for circe and lui.
build.sh: Detect changed files.

This means build.sh will only build packages if the respective
files for those have changed since the last release. It's smart
that way.
logging: Added more documentation, fixed some naming conventions.
circe-channel-killed: Don't send PART if we are not on the channel.

Buffers do not get killed if we leave a channel by any other means
than actually killing the buffer (e.g. /PART, or if we get kicked).
Killing the buffer then will result in a spurious "You're not on
that channel" message.

Fixes #19.
PART, QUIT: Support default quit messages.
build: Rework build process (again). Be smarter about what to include.

The new build.sh knows which packages to build for a release, and
also automatically checks whether version numbers have changed
when files have changed.
circe-channel-killed: Do bookkeeping even if we don't send PART.

The channel buffer needs to be removed from the server buffer's
bookkeeping hash even if we don't send a PART.
elisp_version_in: Use bash ${#} magic instead of sed (thanks, Pi).
circe-channel-parse-names: Do this in the server buffer.

`circe-channel-nick-prefixes` is only set in server buffers,
so the channel buffer uses the wrong prefix. As this is a
server variable, rename it to `circe-server-nick-prefixes`.
build.sh: Another rewrite. Don't actually run git commands.

This is a much cleaner version, allowing separate lui/tracking/lcs
releases outside of Circe releases. All files are built separately,
no repository-changing git commands are issued by the script.
Fix various byte compiler warnings.

circe-chanop.el: Require circe.
circe-color-nicks.el: Use 'circe as a defcustom group.
circe.el: Pass the required argument to called-interactively-p