Fix bug with automatic video scaling

This is sort of hard to explain:  the scale_video_output function was
overwriting the current frame.  If scaling was disabled, it would do
nothing, and return success, and all would be well.  If it was enabled,
it would then call the scaler, and then replace the contents of the
'data' function parameter with the scaled frame data.  The problem with
this is that I was passing video_output::cur_frame directly, which
overwrites its previous value with the scaled frame data.  Then if
cur_frame was not updated on time, it would end up trying to scale the
previously scaled image, if that makes sense.  it would call the video
scaler with the same from for both the source and destination.

So the simple fix was to simply use a local variable and pass that in as
a parameter to prevent this bug from occurring.
video-io: Add function to just get video format
Add API functions for output/encoder scaling

API functions added:
-----------------------------------------------
obs_output_set_preferred_size
obs_output_get_width
obs_output_get_height
obs_encoder_set_scaled_size
obs_encoder_get_width
obs_encoder_get_height

These functions allow for easier means of setting a custom resolution on
an output or encoder.

If an output uses an encoder and you set the preferred width/height
using the output, then the output will attempt to set the scaled
width/height for the encoder it's currently using.

Outputs and encoders now should use these functions to determine the
width/height of the raw frame data instead of using the video-io
functions.
Plugins: Use new encoder/output size functions
Minor code refactoring in v4l2 plugin.
Make device inputs selectable for v4l2 plugin.

This adds an additional property to the plugin to select
an input if the device has multiple ones.
Small cleanups in v4l2 plugin.
Move some functions to separate file for v4l2 plugin.

This moves some functions that are generic to a separate source
file. While doing so the api to those functions was improved to
be more generic and not depend on knowledge about the internal
structure of the plugin.
Fix infinite loop in v4l2 plugin.

When initialization of the device fails the plugin may hang
trying to join a non-existing pthread.
Fix crash in v4l2 plugin.

This adds checks to make sure munmap and bfree are only called
when there was actually memory mapped and allocated.
Fix D3D11 render target blending issues

The alpha source and destination blend values were always being set to
one and zero, when they should have been set to the same as the color
values.  This caused the alpha of the source texture to always overwrite
the alpha of the destination texture, rather than apply the blend
function upon it.  Needless to say that it seriously screwed up the
render target if you rendered something with alpha on it.

Thanks to paibox for pointing this issue out and yelling at me to fix
it.  I apologize for not getting to this sooner.
Improve FLV output logging

Log when the FLV file output has started and when it has finished.
Use the correct logging name for FLV outputs
Alert user when using existing source name.
Merge pull request #234 from fryshorts/v4l2-input

Make input selectable in v4l2 plugin.
Merge pull request #235 from Socapex/master

Alert user when using existing source name.
Update crowdin url for translator instructions

crowdin moved from .net to .com
Merge pull request #242 from Gol-D-Ace/master

Update crowdin url for translator instructions