decodebin3: take eos lock during custom, custom and final eos

To deliver final eos to multiqueue post, following behaviours are required.
  * 1) check all eos in multiqueue pre
  * 2) push custom and regular(real) eos to multiqueue
  * 3) check all eos in between multiqueue pre and post
  * 4) push custom stream-start to multiqueue to reset exisiting eos condition
  * 5) push final eos to multiqueue in order to deliver decoder and sink

But, custom stream-start could be discarded when without selection lock.
  * 1) The regular(real) eos event is not returned yet from multiqueue pre
  * 2) custom stream-start is pushed but it is discarded cause eos status
  * 3) final eos is also discarded cause eos status

To ensure final eos is delivered to multiqueue post after regular(real) eos
is returned, take eos lock.
15 jobs for wip_decodebin3_eos in 66 minutes and 35 seconds (queued for 2 seconds)
latest
Status Job ID Name Coverage
  Preparation
passed #236908
gst indent

00:00:30

passed #236907
manifest

00:00:34

 
  Build
passed #236909
build fedora x86_64

00:05:52

passed #236910
build nodebug fedora x86_64

00:05:49

 
  Test
passed #236911
check fedora

00:06:20

passed #236912
integration testsuites fedora

00:16:07

 
  Full Builds
passed #236914
build cerbero android universal

00:20:44

passed #236915
build cerbero cross win32

00:07:38

passed #236916
build cerbero cross win64

00:07:56

passed #236913
build cerbero fedora x86_64

00:06:12

 
  Full Tests
passed #236920
valgrind bad

00:14:22

passed #236917
valgrind base

00:15:46

passed #236918
valgrind good

00:17:23

passed #236919
valgrind ugly

00:02:49

 
  Apps
passed #236921
android universal examples

00:05:52