playbin: Refactor autoplug-query handling a bit
playsinkconvertbin: Fix leak of the downstream caps filter
decodebin: Need to lock the chain mutex in autoplug_query
decodebin: Pass the element in the autoplug-query signal too
decodebin: Block on serialized queries too

Otherwise we will only block after the serialized, non-sticky event
after the CAPS event or the first buffer. If we're waiting for another
pad to finish autoplugging after we got final caps on this pad, it
will mean that we will let the ALLOCATION query pass although the
pad is not exposed yet.
playbin: Refactor autoplug-query handling

We now only check sinks and factories of the corresponding media
type. It doesn't make sense to pass audio/subtitle caps to a video
decoder.
playbin: Forward CONTEXT queries to the corresponding sink if we have one

https://bugzilla.gnome.org/show_bug.cgi?id=700967
playbin: In autoplug-queries, add the actual decoder/parser/etc template caps

Add the actual decoder/parser/etc caps at the very end to
make sure we don't cause empty caps to be returned, e.g.
if a parser asks us but a decoder is required after it
because no sink can handle the format directly.
decodebin: Don't call autoplug-query on shutdown

And remove leftover debug code
Start on adding stream combiners to playbin.
Fix *-stream-combiner properties to be objects.
Use custom stream combiners when setting up groups.
Only set always-ok on pads that have that property.
Don't remove custom stream combiners when there are no pads left.
Don't allow setting the current stream if the stream combiner isn't an input-selector.
Don't automatically add and remove stream combiners to the playbin bin.
Setup custom stream combiners in pad_added_cb instead of activate_group.
Check and cache stream combiner and sink pad properties up-front, and don't attempt anything that
requires those properties (current-*, tags, etc.).
Expose default stream combiners.
Only set cache-buffers, sync-mode and sync-streams for the default input-selector.