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.