circe.el: allow :pass to be a function

This means we can pass off authentication requests to some other
password store when required.