encodebin: Ensure that a single segment is pushed into encoders

Following the [design document] encodebin needs to handle sources that
output multiple streams, for that purpose and to make it simpler,
we ensure that a single segment is outputted to the encoders by using
an `identity single-segment=true` at the beginning of streams chains.

Added API to enable or disable the use of that new feature.
Added support for the encoding profile parser for that new property,
keeping backward compatibility

[design document]: https://gstreamer.freedesktop.org/documentation/additional/design/encoding.html?gi-language=c#rendering-timelines
27 jobs for encodebin_single_segment in 100 minutes and 45 seconds (queued for 14 seconds)
Status Job ID Name Coverage
  Preparation
passed #679055
gst indent

00:00:32

passed #679054
manifest

00:00:38

 
  Build
passed #679065
build cerbero cross-android universal

00:18:29

manual #679069
gst-ios-12.2 allowed to fail manual
build cerbero cross-ios universal
passed #679066
build cerbero cross win32

00:09:26

passed #679067
build cerbero cross win64

00:06:10

passed #679064
build cerbero fedora x86_64

00:08:00

passed #679068
gst-macos-10.14
build cerbero macos x86_64

00:11:05

passed #679060
build clang fedora x86_64

00:07:16

passed #679056
build fedora x86_64

00:05:45

passed #679063
docker windows 1607
build msys2

00:16:07

passed #679057
build nodebug fedora x86_64

00:04:35

passed #679058
build static fedora x86_64

00:16:10

passed #679059
build static nodebug fedora x86_64

00:05:56

passed #679061
docker windows 1607
build vs2017 amd64

00:10:20

failed #873900
docker windows 1607
build vs2017 x86

failed #679062
docker windows 1607
build vs2017 x86

00:04:18

 
  Test
passed #679070
check fedora

00:04:44

passed #679071
integration testsuites fedora

00:39:47

passed #679075
valgrind bad

00:08:51

passed #679072
valgrind base

00:14:41

passed #679076
valgrind ges

00:07:13

passed #679073
valgrind good

00:11:24

passed #679074
valgrind ugly

00:02:14

 
  Integrate
passed #679077
cross-android universal examples

00:09:06

skipped #679079
gst-ios-12.2 allowed to fail manual
cross-ios universal examples
passed #679078
documentation

00:05:52

 
Name Stage Failure
failed
build vs2017 x86 Build There has been a timeout failure or the job got stuck. Check your timeout limits or try again
No job trace