basesrc: in automatic_eos mode, don't modify the size

Don't set the size to -1 in automatic_eos mode (which also updates the
duration to -1). We only want automatic_eos mode influence the maxsize
calculations without any side effects.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724564
queue2: Fix merging of ranges

Make a method to get the seeking threshold. If data is further away from
this threshold we want to perform a seek upstream.
When the current downloaded range can merge with the next range,
actually include the data of the next range into the current range
instead of discarding it. Also decide if we seek to the write position
of the merged range or continue reading.
queue2: don't truncate the temp file on shutdown

We want to keep the downloaded file untruncated so that we can use it
again later.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=724373
check: also use the glob on GST_CHECKS when forcing to run broken tests

GST_CHECKS can be simply "test*" to run run all tests (including those that are
marked broken). Update the sparse comments a bit to tell how this works.
tracer: initial prototype for the tracing subsystem
inspect: add support for the new factory

Handle tracer modules.
tracer: add the hook-id to the invoke signature

Tracers that subscribe to multiple hooks can know what hook was used.
tracer: switch to quarks and add another hook for buffer flow

Use pre-defines quarks as this will be called quite often.
tracer: more planning
tracer: pass the instance to the vmethod
log: add cast macro
stats: add a tracer that collects pipeline statistics

This is more or less equiv to the the statistics in gst-tracelib.
docs: add more open items
tracer: pass the timestamp directly

Avoid the structure mashalling (and weird field naming).
tracer: use macros for hooks

Wrap the hook with a pre and post macro. This looks less intrusive than the
previous version, although it is a little less optimized.
tracer: use a macros for the enabled check

Avoid a function call and check the variables from the macro.
tracer: use a va_args instead of a structure

This is less extensible, but faster and avoids some extra hops and allocs.
log: make the log tracer more verbose again

Define log formats per message type and print details.
stats: handle buffer lists
tracer: add a pull-range hook and handle it in the plugins