Added ffmpeg fallback when avconv is not available

On some distros, avconv isn't available yet.
This fix adds a fallback to ffmpeg.
When none is found, no error message is displayed in the console any
more.

Fixes #5745

Also, this now uses exec() instead of shell_exec() to be able to get the
return code.

The binary path found with "which" is now used to prevent further FS
binary lookup when running the commands.

Moved the "-ss" parameter before "-i" for ffmpeg.

Please review @Kondou-ger @DeepDiver1975 @georgehrke @karlitschek 
Sorry if that messes up a bit with #5739 

It works for me with ffmpeg. Didn't test with avconv as I don't have it on openSUSE 12.3, so please test with that as well. Thanks.