FEATURE(1598): Extend genipc, empowering object methods.

Three attributes were added to method descriptions:

noreply: if "true", the server will waive the responsibility of
replying to the client that called the method, except when the method
returns an error.

need_client: if "true", the method will receive the calling client's id
in its parameters.

need_cookie: if "true", the method will receive the cookie associated
with the call as a parameter.
OTHER: Set Doxygen option to document macro-generated functions.
OTHER: Make the hello server command return the client's id.

The client's id is now stored in the connection structure.
FEATURE(1598): Helper functions for c2c messages
FEATURE(1598): courier and ipc_manager objects

- courier manages client-to-client communication.

- ipc_manager provides broadcasts for clients (dis)connection.
FEATURE(1598): Basic c2c in libxmmsclient

Introduce new notifier types for c2c messages that allow clients to
handle results independently from their origin (service client or
server):

  - 'default' callbacks receive the value as sent by the server or another
    client, that is, for c2c messages only the payload is passed to the
    callback.

  - 'raw' callbacks receive the full c2c message when associated with
    messages from other clients, and the regular value as sent by the
    server otherwise.

  - 'c2c' callbacks always receive values formatted as c2c messages,
    regardless of whether the sender is the server or a different client.
    For messages sent by the server, the sender id and message id fields
    will be zero.
FEATURE(1598): Helper functions for service client
FEATURE(1598): Service client API
OTHER: Add Service Clients to my AUTHORS entry.
OTHER: Make service client api public.
OTHER: Rename xform_goal_hints_get -> xform_stream_type_goals.
OTHER: s/_xmms_stream_type_new/xmms_stream_type_new/
OTHER: Remove commented out code from streamtype.c.
OTHER: Add xmms_object_destroy_notify.

A convenience function for managing xmms_object_t objects inside
GLib based data structures.
OTHER: Change goal_formats from GList to GPtrArray.

GPtrArray benefits from being refcounted which makes memory management
more flexible since a caller can decide if the xform chain should free
the memory or not. Also unifies the goal_formats variable names to
stream_type_goals, stream_type, or supported_stream_types.
OTHER: Split out chain creation into xform_chain.c.
OTHER: Add token manager, responsible of xform metadata.
moar haxx
moar moar
more stuff