media: fix relay-info with Farstream 0.2

Type of "relay-info" property changed from GValueArray to GPtrArray in
Farstream 0.2. Update our purple media backend accordingly when building
with libpurple 3.x.x.
configure: add option for libpurple 3

Build can now be configured with --enable-purple=3 to enable compilation
against libpurple 3 and GStreamer 1.0.
conference: use a single counter for CCCP request IDs

[MS-CONFPRO] 2.2.2 says requestId must be a non-negative integer unique
among all requests from the sender. Thus, it's enough, and likely even
more correct, for sipe_core_private to have a single cccp_request_id
counter instead of a separate copy in each sip_session.
conference: refactor CCCP request creation

Moved repeating parts of the code into cccp_request().
conference: use cccp_request() in sipe_conf_add()
conference: use cccp_request() in sipe_conf_create()
conference: use cccp_request() in sipe_conf_modify_user_role()
conference: use cccp_request() in sipe_core_chat_modify_lock()
conference: use cccp_request() in sipe_conf_delete_user()
conference: obtain a list of enabled MCU types

Multipoint control unit types represent conferencing capabilities
enabled on the server (text chat, audio, video, etc.).
conference: refactor CCCP request creation II

Also sip_transport_* requests can be moved to cccp_request(), resulting
in further reduction of duplicate code.
conference: use only supported MCUs in addConference

When creating a conference, allocate only those MCU-types that we know
are supported by the server, i.e. received in a response to our
'getConferencingCapabilities' request.

This fixes occasional 'mcuTypeNotAvailable' error responses when Sipe
wanted to use audio-video conferencing on a server where this option was
disabled.
media: notification when conference calls not supported
media: removed call_hangup_cb

Already handled in sipe_media_call_free().
media: factor out common stream initialization