multiqueue: Allow growing a queue if all other queues are not linked

In the case where one singlequeue is full and all other are not linked, the
growing of the full queue does not work correctly. The result depends on if
the full queue is last in the queue list or not.

https://bugzilla.gnome.org/show_bug.cgi?id=722891
multiqueue: Break the loop immediately if we found an empty queue

No need to continue looking at all the others
docs: design: add part-seqnums

Hopefully clarifies how seqnums should be used and copied from
events to events/messages when those are handled.

https://bugzilla.gnome.org/show_bug.cgi?id=722791
basesrc: preserve seqnum of eos events sent by the user

Store the eos event seqnum and use it when creating the
new eos event to be pushed downstream. To know if the eos
was caused by the eos events received on send_event, a
'forced_eos' flag is used to use the correct seqnum on
the event pushed downstream.

Useful if the application wants to check if the EOS message
was generated from its own pushed EOS or from another source
(stream really finished).

Also adds a test for this

https://bugzilla.gnome.org/show_bug.cgi?id=722791
basesrc: do not forget to clear the forced_eos flag

otherwise it will always use the seqnum of the event
sent by the application
multiqueue: do not reduce single queue below current level

When the single queue size was just bumped by 1 to allow more buffers to
be added, the buffers limit could be reduced to the current level when
setting the max-size-buffers property. This would result in a stall
since the queue would not grow anymore at this point.

Prevent this by not reducing a single queue size below the current
number of buffers + 1.

https://bugzilla.gnome.org/show_bug.cgi?id=712597
capsfilter: do not forget to push pending events

Push pending events before buffers if caps is already
set
tests: capsfilter: add test for pending_events pushing

make sure that pending events are pushed when caps are already
set when a buffer is received
gst-uninstalled: use print as function

https://bugzilla.gnome.org/show_bug.cgi?id=723229
poolstress: code cleanups

Add a few comments. Tell in the results, which number are from which test.
part-toc: add format specific information
part-toc: emphasize that the later chapters are design draft ideas
Automatic update of common submodule

From d48bed3 to 1a07da9
poll: improve debug

Add object pointer in debug lines.
bufferpool: avoid excessive GstPoll activity

Keep an extra write ref on the control socket. This ensures that we
avoid a read/write on the socket when going from non-empty->empty->not-empty.
We remove the write ref only when we actually are empty and we need to
wait for flushing or a new buffer.

This makes the bufferpool benchmark about 30% faster than the pure
malloc implementation.
bufferpool: add a new testsuite or the pool

Start with some basic tests.
bufferpool: misc cleanups

Review the documentation, comments and logging. Set the initial size to 16 as
the size is rounded up to the next power of two anyway.
poolstress: print speedup