[rbp/omxplayer] Ignore expected errors when tearing down audio

The previous commit to avoid the error log message for port unpopulated
doesn't actually swallow the error event, so the next command issues will fail.

(currently we don't care as we are cleaning up, but it makes editing this code fragile)

I've also changed the teardown sequence to match the video component which seems safer.
[rbp/omxplayer] Copy audio splitter port parameters directly

Should have the same effect, but direct way seems more robust to other changes
[rbp/omxplayer] Remove tunnel flushes

A tunnel flush flushes the ouput port of the source component and the input port of the dest component.
However the code already flushes all the ports of components, so many ports are flushed twice.

Remove the tunnel flush API and just flush component ports
[rbp/omxplayer] Make disabling ports optional

We typically don't want to disable ports after establishing a tunnel, so make this optional and default to false.
[rbp/omxplayer] Avoid hiding some unexpected error conditions
[rbp/omxplayer] Remove component locking

The OMX library is thread safe.

If we need to provide atomicity of groups of accesses, then that is done at the higher level
(e.g. OMXAudio), so remove the lock from the lowest level
[rbp/omxplayer] Add wait to port enables/disables

We get very occasional incorrect state errors when we don't wait for a port enable/disable.