Add ffmpeg/libav identification defines

Add separate defines to identify whether the ffmpeg or libav version of
libavcodec is being used (to aid readability).
update: ffmpeg forward compatibility fix for matroska embedded subtitles

Provide additional checks for ffmpeg (as opposed to libav) and update
comments to reflect the dates of the API change.
Remove obsolete ffmpeg version check (52,0,0)

This test (which presumably checks for LIBAVCODEC_VERSION_MAJOR >= 52)
seems both obsolete and incorrect. The major version is shifted 16 bits,
not 12. Major version 52 was introduced in commit
dd1c8f3e6e5380f993c86750bb09fd42e130143f (from Sept 8, 2008) so this check
is anyhow obsolete.
Remove obsolete libavformat version check (52,14,0)

This version of libavformat is from May 22, 2008
(commit 79d7836a5e213d547629555e3f1157e7197aef68).

The first release to include it was ffmpeg 0.5 (3 March 2009).
Remove obsolete libavcodec version check (52,38,1)

This version of libavcodec is from Nov 10, 2008
(commit 3155716677eac826b998b487db66927796f6a833).

The first release to include it was ffmpeg 0.6 (15 June 2010).
Remove obsolete libavformat version check (52,83,0)

This version of libavformat is from Oct 15, 2010
(commit 03700d399bcc749ad7916f2d39a99527f37c8b6e).

The first release to include it was ffmpeg 0.7.1 (24 June 2011).
Update libavcodec version check

Make the version check compatible with both ffmpeg and libav.
Also add comments describing when the API change was made for
both libraries.
Update libavfilter version check

Make the version check compatible with both ffmpeg and libav.
Also add comments describing when the API change was made for
both libraries.