core: optimize function nicklist_remove_all (don't remove and create again "root" group)
core: add count for groups, nicks, and total in nicklist
api: allow hashtable with keys that are not strings in function hashtable_add_to_infolist
doc: update hdata "buffer" in plugin API reference
core: add signals and hsignals for nicklist events

New signals: nicklist_group_removing and nicklist_nick_removing.
New hsignals: nicklist_group_added, nicklist_nick_added, nicklist_group_removing,
nicklist_nick_removing, nicklist_group_changed, nicklist_nick_changed.
relay: add message "_nicklist_diff" (differences between old and current nicklist)

This is an experimental feature, that must be explicitely enabled by clients
(for weechat protocol) in the init command with option "nicklistdiff", for example:

  init password=mypasswd,nicklistdiff=1

This option will be removed when clients will handle nicklist diff.
doc: add example of messages and message "_nicklist_diff" in relay protocol
doc: fix typo in relay protocol