Fix race condition in starting up logger thread

The context should be created by the main thread. It's accessed by both
so, by the time owl_log_init returns, we need to be sure it exists.
Don't do the stderr redirect hack if !isatty(2)

stderr has already been redirected, so there's no point. This way if
barnowl crashes, we have some hope of recovering the stderr by
redirecting it to a file first. The pipe hack is still evil, but this is
somewhat less insane.
Use Digest::SHA in Jabber module instead of Digest::SHA1

The cool kids spell it without the 1 these days. More precisely,
Digest::SHA1 no longer exists in precise. Also it's in perl itself these
days.

(We can just install Digest::SHA into the locker for the sysnames that
need it.)
Merge pull request #100 from davidben/master

Use Digest::SHA in Jabber module instead of Digest::SHA1, since Digest::SHA1 has been abandoned and removed from distributions.
Document that the Facebook module wants a moose

Or a mouse apparently. Also that other dependency.
Facebook has EVEN MORE dependencies
Bump version for development.
zephyr: Replace outgoing default format with a small URL

We need the bytes, no modern client uses it, and it's inherently a
security vulnerability. For those clients that do use it, provide a link
to a page on the zephyr wiki that explains the issue.
Abstract g->interrupt_lock

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Replace deprecated GLib < 2.31.0 mutex APIs

As of GLib 2.31.0,
 - GMutex and GCond can now be statically allocated without explicit
   initialisation.  Dynamic allocation for these types is deprecated.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Replace deprecated GLib < 2.31.0 thread APIs

As of GLib 2.31.0,
 - threading is now always enabled in GLib
 - libgthread is now an empty shell and g_thread_init() is no longer
   required (and has been deprecated)
 - simplified new thread creation API with the old API deprecated.  The
   concept of joinability has disappeared (all threads are joinable) as
   have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
   and ability to manipulate the stack size.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
typedef fake curses and Perl types to undefined structs instead of void

This increases type safety and fixes warnings with gcc-4.7 -flto:

owl.h:606:19: warning: type of ‘g’ does not match original declaration [enabled by default]
owl.c:26:12: note: previously declared here

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Unbundle random Facebook module libraries

Probably saner to ship them in the locker, lest some random other CPAN
module pick them up as dependencies. reload-module seems to get kind of
confused when there's a copy in a PAR and in the locker. The original
motivation was because they weren't in Ubuntu but

a) You can just install them from CPAN.
b) They're in precise now.
c) The locker doesn't care.

Facebook module still bundled because it's forked.
Fix display of pseudologins

After b9517cf7ce2959a6e86a52d25a98b1d03df56d58, they lost fields and
auth keys. They're faked, so they don't really have fields or auth, but
put them in anyway to appease existing styles.

Reported-By: Kevin Chen <kchen@mit.edu>
zcrypt: Make gpg stop messing around in ~/.gnupg

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Remove completion for nonexistant 'show information'