multiqueue: Don't reduce single queue visible size below its current level

If the multiqueue has automatically grown chances are good that
we will cause the pipeline to starve if the maximum level is reduced
below that automatically grown size.

https://bugzilla.gnome.org/show_bug.cgi?id=707156
tools: move gst-plot-timeline.py into scripts directory

So it's not in PATH in an uninstalled setup (thwarting
gst-play autocompletion).
typefind: Add missing break after handling the GAP event

Thanks to Edward Hervey for noticing.
Remove PyXML from spec file, it is not longer needed
collectpads: Don't unref NULL GstCollectData

If a pad is removed while a collectpads element (say adder) is in a chain
function waiting to be collected, there is a possibility that an unref happens
on a NULL pointer.

https://bugzilla.gnome.org/show_bug.cgi?id=707536
basesrc: preserve seqnum on segments after seeks

The seqnum of the segment after a seek should be the same of
the seek event. Downstream elements might rely on seqnums to
identify events related to a seek.

This is particularly important when a demuxer maps a TIME seek
into a BYTES seek for upstream and it needs to identify the
corresponding segment event and map it back into TIME to push
downstream, possibly using the values from the original seek
event.

https://bugzilla.gnome.org/show_bug.cgi?id=707530
Update the buffering state before stalling for more data

In some cases the wait for more data was happening without updating
the buffering state, meaning the API user would not be able to notice
it should pause the pipeline and update UI to indicate that is the
case, the video would likely stutter instead.

https://bugzilla.gnome.org/show_bug.cgi?id=707648
tests/capsfilter: Test caps-related queries and property
tests/capsfilter: Fix memory leak and compare caps directly instead of strcmp()
meta: API: Add gst_meta_api_type_get_tags() to get all meta tags.
basetransform: implement a default transform_meta.
If a metadata has no dependency as shown by the tags, copy it.
meta: Add a #define for memory metadata
meta: Deprecate GST_META_TAG_MEMORY

The GQuarks are not exported by any public API
queue2: Only update current level if we already downloaded a range

Otherwise queue->level is NULL and dereferencing that is not a good
idea in general.

https://bugzilla.gnome.org/show_bug.cgi?id=707648
controlbindings: fix pspec relaxation for control source properties

The change should have been from PARAM_CONSTRUCT_ONLY to
PARAM_CONSTRUCT, otherwise bindings are affected, since
they look for the CONSTRUCT flag.

See ec55363d
gst: Stop all unused threads in GThreadPool in gst_deinit()

Since the default number of max unused threads in GThreadPool has been
changed from 0 to 2 it needs to be set to 0 to stop all threads or
valgrind will report them as memory leaks.
event: Remove CONTEXT downstream event

This is going to be implemented with an upstream query instead
for consistency and simplicity.
query: Make CONTEXT query upstream and downstream
context: Add persistent qualifier for a context

Non-persistent contexts are removed when elements go back
to NULL state, persistent contexts are not. Applications
most likely want to set persistent contexts.
element: Remove GstContext caching