Perform asynchronous connection if possible

When using native GnuTLS, we can now connect asynchronously, without
blocking Emacs if the remote server is slow to accept the connection
(or just times out).

Such connections are now identical to "network" (i.e. TLS-less)
connections, so I reverted jabber-starttls-connect to its previous
state: it is now used exclusively to connect using gnutls-cli external
processes.
Fix for autoaway presense spamming. Thanks to lioka@altlinux for bugreport.
* jabber-keepalive.el (jabber-whitespace-ping-do): Ignore errors.

Sometimes this fails because the connection is closed.  Not sure
exactly why this happens, but the sentinel function should discover
the lost connection anyway, and having an error signalled in a timer
function doesn't help anyone.
configure.ac to read version number from jabber-ourversion.el

...instead of the other way around.  This should make it possible to
build an ELPA-style package straight out of Git without running
autoconf, while we'd still be able to build tarballs through automake.
Display menu by default if user installed the package

If the user installed the package into `package-user-dir' (as opposed
to a system-wide installation), it should be fine to display a Jabber
menu by default (which still can be turned off).
Reorder menu items; add separator

I put commands used to connect or while connected first, and
meta-commands (Customize and Help) in a second section.
Disable menu items as appropriate

If there are no connections, disable "Disconnect".
If there are no unread messages, disable "Next unread message".

This also ensures that the functions are loaded when the user might
try to activate the menu item.
Don't require jabber-autoloads

Requiring jabber-autoloads from .emacs or a similar location is the
only supported way to load jabber.el, and it's also the way it gets
done when installing it as a package.
Accept roster push from server JID

That is what Facebook does.
Merge remote-tracking branch 'origin/master'