Ability to store/restore roster's groups roll state

Implementation is quick-and-dirty. State saved in private server
storage per jc. "roster" tag used with "emacs-jabber" xmlns. Value is
newline-separated list of groups to rollup (assumed that group name
can't contain newline).
Fix for case when we dont have saved roll state (server result is empty)
Private storage now used for bookmarks and roll state saving
Fix for case when there is no rolled up groups or when where is just one such group
Save empty rolled groups list anyway, for consistensy
jabber-core: Fix header parsing

The (1+ (match-end 0)) is a mistake. Indeed, after the replace-match
call the (match-end 0) point has changed to be at the end of the
replaced string. So calling (point) is more than enough.

Signed-off-by: Magnus Henoch <legoscia@users.sourceforge.net>
Use namespace prefixes declared on stream root element

* jabber-core.el (jabber-namespace-prefixes): New variable.
(jabber-connection) [:connected, :bind]: Expect features instead
of stream:features.
(jabber-filter): Save namespace prefixes from stream root element.
Use saved prefixes when parsing stanzas.

* jabber-xml.el (jabber-xml-resolve-namespace-prefixes): Move the merging part...
(jabber-xml-merge-namespace-declarations): ...into this new function.
* jabberd.el (jabberd-handle): Update for new namespace handling.
Version 0.8.91
Avoid groupchat buffer on RET in roster if we're not 100% sure it's a groupchat (bug 3483380)

* jabber-roster.el (jabber-roster-ret-action-at-point): Ask for disco info before doing anything.
(jabber-roster-ret-action-at-point-1): Only assume it's a groupchat if it explicitly says so.
Fix build with automake > 1.11.4
Add tmux alerts
Mention tmux alerts in the documentation
s/screen/tmux/ in jabber-tmux.el

Too much copy & paste can be a bad thing...
Support native GnuTLS for STARTTLS

Emacs 24 supports linking to the GnuTLS library.  Let's use it when
available.

Also add a customisable variable for ignoring invalid certificates.
We should now be validating certificates against the XMPP server name,
not the hostname from DNS SRV, so there should be less need for this
now, but there's always the occasional basement server with a
self-signed certificate...
Fix error handling for old-style SSL/TLS connections

When connecting to a Jabber server over SSL/TLS without STARTTLS
(the legacy "port 5223" method), any connection error would
cause the state machine to be stuck in the :connecting state,
unable to go back or forward.  Fix this by catching and reporting
errors in jabber-ssl-connect.
Fix reporting of STARTTLS negotiation errors

jabber-starttls-process-input now signals an error on negotiation
failure, as gnutls-negotiate already does.  Catch errors in
jabber-core, and put them as disconnection reason in the state data,
to get fewer and less confusing messages in the echo area.
Don't add extra newline when using STARTTLS

Apparently sending an extra newline after each stanza was necessary
with the OpenSSL client, but it seems to be messing up native STARTTLS
negotiation more often than not (I suspect it's a race condition), and
removing it seems not to hurt when using STARTTLS with gnutls-cli.
Don't display "added to roster" messages for initial roster population

It's not really useful information, and it takes time to display all
those messages... We should be better off without this message.
Make nick coloring work in Emacs24