outputs: use setdefault instead of get for config

so our configuration file updates when code changes.
inputs: forgot queue on tee branch.

it worked before but everyone and their mom tells you to do like this.
outputs: minor refactoring
common: make global framerate configurable
don't go to playing if not necessary when a camera is disconnected
use flv as output mux
outputs: use automatic naming for GhostPads
Revert "don't go to playing if not necessary when a camera is disconnected"

This reverts commit 4003eb67d39dfef67f876b132ba9d88b95b03f30.
outputs: prevent errors when stopping stream archiving.
core: emit signal for state changes
core: sync input states upon source disconnection
core: switch by source use pads instead of internal index
core: don't show multiple times the same error, disconnect source only
once
core: some refactoring, handling of device disconnections
core: use source instead of indexes
core: restore pipeline state after stopping file recording