validateflow can be used to check the buffers and events flowing through
a custom pipeline match an expectation file. This can be used to test
non-regular-playback use cases like demuxers handling adaptive streaming
fragment pushing.
This patch includes also new actions used for these cases:
`appsrc-push`, `appsrc-eos` and `flush` (plus `checkpoint`, which is
only available with validateflow).
And add a way to check that a configured number of instances of a particular
element is used, this is useful to make sure for example that playing a
particular stream doesn't lead to several decoders being instanciated.