v4l2: Normalise control names in the same way as v4l2-ctl

V4L2 kernel drivers allow configuration of the hardware settings via a
mechanism called controls.  These can be referred to by name such as
"Brightness" and "White Balance Temperature".  The user-space command line
client for setting these controls (v4l2-ctl) normalises these names such
that they only contain lower case alphanumeric characters and the
underscore '_'.  e.g:

    Kernel                     v4l2-ctl
    ----------------------------------------------------
    Brightness                 brightness
    White Balance Temperature  white_balance_temperature
    Focus (absolute)           focus_absolute

GStreamer seems to want to follow this pattern but failed for controls with
more than one consecutive non-alphanum character.  e.g. GStreamer would
produce "focus__absolute_" rather than "focus_absolute".

This commit fixes that issue.  Backwards compatibility is preserved by
normalising all control names before comparison.

https://bugzilla.gnome.org/show_bug.cgi?id=725632
v4l2: Fix typo contol -> control

https://bugzilla.gnome.org/show_bug.cgi?id=725632
videomixer2: store video info with buffers to keep it in sync

Instead the queued buffer might have an old caps while the pad
is already storing the information for a new caps. Mixing those
while handling buffers will often lead to issues

https://bugzilla.gnome.org/show_bug.cgi?id=725948
matroskademux: fix assert on fps lower than 1

Fixes assert caused by gst_duration_to_fraction calling
gst_util_uint64_scale_int with a denominator of 0 when fps is less
than 1.

https://bugzilla.gnome.org/show_bug.cgi?id=726106
souphttpsrc: Add properties for selecting SSL/TLS certificate checking

And by default properly check certificates against the system's CA
certificates. Everything else is not a good default at all.
v4l2: Use a copy of videodev2.h header

With years the amount of ifdef have grown up and we are not even sure if the
old code path compiles. Each time we need to update the v4l2 framework to add
the new feature, we break compilation on older kernel. With exception of two
controls in the video orientation control, this patch get rid of all ifdef by
including the latest version of videodev2.h inside GStreamer.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723446
v4l2: Remove XV support

XV support for v4l2 never became upstream and ended up being
commented out with an undef for a long time now.
translation: PO file changes caused by POTFILE.in update
v4l2: Actually build the plugin

The checks were removed inadvertedly in previous patch and not replaced.
Re-introduce the configure checks and some of the checks in order to enable
this plugin again. We only check if videodev2.h exist on the platform to
avoid building on Windows or OSX, though we build against our own copy. This
was breaking the build on built-bot.
v4l2-build: Set HAVE_GST_V4L2 if headers are present

The name of HAVE_ need to match the USE_. Now set HAVE_GST_V4L2 if
videodev2.h is found.
v4l2: Fix typo V4L_DIR intead of V4L2_DIR
pulse: Make gst_pulse_format_info_to_caps() shared

https://bugzilla.gnome.org/show_bug.cgi?id=678402
pulse: fix format info to caps conversion for mulaw
v4l2: Add types compatiblity for other OS

Adds type compatiblity with other OS like BSD. This uses types mapping macro to
avoid conflict with existing defined types. We resuse glib types as these are
already available on supported platforms. This is GCC only because of the
le32 type that uses bitwise attribute.

https://bugzilla.gnome.org/show_bug.cgi?id=726453
videomixer: Port to new collectpads API

See: https://bugzilla.gnome.org/show_bug.cgi?id=724705
v4l2: Remove GstPropertyProbe leftovers
pulse: Add device monitors

https://bugzilla.gnome.org/show_bug.cgi?id=678402
v4l2: Implement GstDeviceMonitor subclass

https://bugzilla.gnome.org/show_bug.cgi?id=678402
configure: Don't fail if gudev is not present

PKG_CHECK_MODULES has the bad habit of failing the build if it doesn't
get what it wants, prevent that.
configure: Don't check for gudev if video4linux2 is not present