OTHER: Move xmmsv_new_coll() to proper header

For consistency with declarations for list and dict.
OTHER: Use sourcepref default from xmmstypes in medialib
OTHER: Use same default sourcepref as server

with the exception of current client being first.
BUG(2582): Fix unhandled case on empty result

An empty collection with a metadata fetchspec now returns proper xmmsv
based on get attributes list and aggregation function, instead of NULL.

Also ensure that clients get a reply even if xmms_media_query() returns NULL
(most likely caused by a server-side bug).
OTHER: Move tru in AUTHORS to fix alphabetical order
OTHER: Fix comment in AUTHORS
BUG(2565): Explicitly link to vorbis and ogg

vorbisenc is no longer overlinking and ripper.c uses symbols from both.

https://git.xiph.org/?p=mirrors/vorbis.git;a=commitdiff;h=24b8f4f4c2f2e33333f47738fe5838197ec2a4dc
OTHER: Add Pascal Terjan to AUTHORS
BUG(2565): only build ripper if all of vorbisenc/vorbis/ogg are available
OTHER: Use new waf API

Older APIs has been removed in the waf 1.7 series.
OTHER: Bump src/lib/s4 submodule, new waf.

* src/lib/s4 1643912...0c121db (4):
  > OTHER: Update waf unittest parts to match xmms2's.
  > OTHER: Replace deprecated 'add_objects' with 'use'.
  > OTHER: Upgrade waf 1.6.7 => 1.7.15
  > OTHER: Use new waf API
OTHER: Upgrade waf 1.6.7 -> 1.7.15
OTHER: Fixed gapless playback
OTHER: Ruby: Don't call check_int32 on C integers!

Expanded METHOD_ADD_HANDLER_INT_INT, but removed check_int32 on the second argument.
OTHER: Ruby: Use INT_MAX/INT_MIN instead of hardcoded values when checking the size of an integer.

Good eye, Tilman Sauerbeck.
OTHER: env.HAVE_* no longer set by waf
OTHER: avoid add_objects
OTHER: Add and use unchecked bytes_to_samples
OTHER: handle song_id more explicitly
OTHER: Fix coll_query_info regression causing smaller resultset.

Bug 2478 introduced "cluster-fallback" property in the fetch
specification. When left out, entries missing a value for the
cluster-field attribute will be omitted from the result.