kmselements: Remove valves and use sometimes pads instead

Change-Id: I3ef948fb5d91490a0b63c230813a11a2ea2f87b9
kmsfilterelement: Fixes to use sometimes sinks

Change-Id: I3c96187ed2b131b74973e4a9323d13c4d7cea7b7
kmshubport: Fixes to use sometimes sinks

Change-Id: I60490e7df184ac341374c9b25c3ea592ab83b746
kmsbasertpendpoint: Fixes to use sometimes sinks

Change-Id: I195b980ae6a47be985c2eeedcafec4f25aa1d71a
kmselement: Add utility function to remove pad by type and description

Change-Id: Ic485cfba52c73eba2309cef2fa972c72ddf3f5db
kmselement: Add action method to request a src pad

Change-Id: I0b78655fc8db00a10b31fba0a5614b9e2ceec8d9
kmselement: Add pad when agnostic exists

Change-Id: I4c4ff4a5e3d5c41e6d5fe7eb37d0c2c9b5799951
kmselement: Add pending requested pad when agnostic is created

Change-Id: I97f2a138c228a644bff0578f0e26268c0c0d84bc
kmselement: Add release-requested-srcpad action

Change-Id: Ifb9f8d372574fa439a19d941eb39bc559e7abbd4
Add pad connection tests.

Two new objects (dummysrc and dummysink) are used to test both
connections and disconnections of pads.

Change-Id: I41ce82e219e7f09a0f6fb0d79c37bff59d1a4d62
kmselement: Make source pads SOMETIMES

Change-Id: Ifd57367d0f6e584b69e885e9f222cc3a7521e0d9
dummyduplex: Add dummy duplex element for testing purposes

Change-Id: I3459c449dc991e47039f6b07d08011f35cda7b12
Remove MediaSink and MediaSource from API

Element API should provide this functionality now but
currently is not implemented.

Change-Id: Id90a0430ccdb7947bf9a29d992bfaaed91b75b66
MediaElementImpl: Basic implementation of connect related methods

Change-Id: I89423b1382e7e19af1970cf20af5dc7bf799f188
MediaElementImpl: Destroy all connections when element is released

Change-Id: Icf39ee30f57926156593aede77801610bc370914
MediaElement: Implement connection of src pads

Change-Id: Ie66952d9db41b3a91193744a48b7c017b2b0ef3c
MediaElementImpl: Trigger connection when sink_pads are available

Change-Id: Ic0a25237304f1b0d4aaa94a3f3d9425e5e455e05
MediaObjectImpl: Create release method to be called when element is released

This method will allow the objects perform release operation that
require a shared_ptr, this operations are not possible in destructor where
shared_ptr has already been destroyed.

Change-Id: Ic70cbf88d513c663b8f5d4360ad84fe461657507
MediaElementImpl: Override release method to destroy all connections

Change-Id: I095cf5dc2ba68991ca2f9b59cf5bfa517ea8affe
MediaElement: Add more connection tests

Change-Id: I0ba4c30bba40d1eb4f1f70922c4a208676b4cd29