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
Make nick coloring work in Emacs24
If all accounts are already connected in jabber-connect-all, say so
Fix :get function for jabber-roster-default-group-name

Because of an improperly nested `if', it would sometimes return nil
instead of a string.
Ensure that jabber-bookmarks is loaded in jabber-jid-bookmarkname
Merge branch 'upstream' into store-groups

# By Magnus Henoch (18) and others
# Via Magnus Henoch
* upstream: (31 commits)
  Ensure that jabber-bookmarks is loaded in jabber-jid-bookmarkname
  Fix :get function for jabber-roster-default-group-name
  If all accounts are already connected in jabber-connect-all, say so
  Make nick coloring work in Emacs24
  Don't display "added to roster" messages for initial roster population
  Don't add extra newline when using STARTTLS
  Fix reporting of STARTTLS negotiation errors
  Fix error handling for old-style SSL/TLS connections
  Support native GnuTLS for STARTTLS
  s/screen/tmux/ in jabber-tmux.el
  Mention tmux alerts in the documentation
  Add tmux alerts
  Fix build with automake > 1.11.4
  Avoid groupchat buffer on RET in roster if we're not 100% sure it's a groupchat (bug 3483380)
  Version 0.8.91
  * jabberd.el (jabberd-handle): Update for new namespace handling.
  Use namespace prefixes declared on stream root element
  jabber-core: Fix header parsing
  Fix :get function for jabber-roster-default-group-name
  Use xml-parse-region to parse stream header
  ...

Conflicts:
	jabber-roster.el
	jabber.texi
Typo fixed. According to xep-0202 "query" from xep-0012 replaced by "time"
guard create-image with error handler
jabber-disconnect: Display "Already disconnected" if that is the case
Update docstring for how to hide offline contacts permanently
"Authentication succeeded" message to mention which account
jabber-ping.el: require jabber-menu

Needs jabber-jid-info-menu.
Use LOG_COMPILER instead of TESTS_ENVIRONMENT in tests/Makefile.am

TESTS_ENVIRONMENT is no longer a safe place to put an Emacs
invocation.  However, LOG_COMPILER was introduced in Automake 1.12 for
such things.

Tested with Automake 1.13.1.
jabber-ping.el: require jabber-disco

Needed for jabber-advertised-features.
Remove sha1.el and hex-util.el; fix hexrgb compilation

sha1.el was included in Emacs 22.1 (released in 2007) and has since
been replaced by native functions; there's no point in us including it
anymore.  hex-util.el was only used by sha1.el.

Newer versions of Automake (since 1.13) treat Emacs Lisp files in
subdirectories differently, which causes problems with hexrgb.el.  I
made it copy hexrgb.el into the top directory, and it seems to work
for me.

Update README.  New minimum version is 23.1, which is when dns.el
started supporting SRV queries.  (Still need to update TLS section.)
Don't require jabber-console in defcustom of jabber-debug-log-xml

That makes it impossible to run Emacs if jabber-debug-log-xml has been
customized, but jabber-console.el is not in the load path for some
reason.  Instead add an autoload cookie for jabber-process-console to
ensure that it gets loaded when needed.  Also remove duplicate
definition of jabber-buffer-connection.