Added functionality to enumerate capture devices on all platforms

If the environment variable OWR_USE_TEST_SOURCES is set the list of sources will include test sources.
local: Add copyright header to new files
local: Don't list monitor sources from PulseAudio
tests: Add manual device selection to test-self-view

Off by default since it's probably not needed other than for device
listing testing.
local: Schedule device listing in Owr mainloop context

This moves the device discovery step into a mainloop, rather than only
scheduling the callback.

Also the callback was scheduled using g_idle_add() that would use the
default mainloop context, which is now changed to use the Owr main
loop/context.
local: Move device index to exist only on OwrLocalMediaSource

This is not a property that makes sense on the more generic
OwrMediaSource.
local: Make Linux audio device selection actually work
local: Pick Dalvik over ART if available

Both might be available on pre-Lollipop Android devices, and the default
in those cases is Dalvik. This does mean we won't support people who've
forced ART on older devices, but such is life.
local: Fix up build with device listing

This makes Linux and Android builds work. Needs to be tested and tweaked
for OS X.
local: Namespace the _get_avf_*() functions

Adding a _owr should avoid accidental namespace collisions in case of
static builds.
owr: Add transfer annotation for new internal API
local: Use g_warning instead of g_error

g_error() will kill the process
local: Use Owr main context for PulseAudio glib mainloop integration
local: Don't list v4l2 devices that we are unable to open
local: Use g_list_prepend() instead of g_list_append()

g_list_prepend() is O(1), whereas g_list_append() is O(n).
local: Explicitly specify void argument lists for functions
local: Fix up some Android exception handling