stream_dvdnav: implement STREAM_CTRL_GET_NUM_TITLES for dvdnav

This commit provides impelmentation of STREAM_CTRL_GET_NUM_TITLES
for dvdnav stream. Other streams for DVD or Blu-ray are already
provide STREAM_CTRL_GET_NUM_TITLES.
command: add new property 'title'

This commit adds new property 'title' which indicates current
playing title of disc. This property is useful when using a stream
whose title can be changed during playback, e.g., dvdnav.
command: prefix DVD title properties with "dvd-"

They're strictly DVD-only, so it's better to mark them as such. This
also documentes the "title" (now renamed to "dvd-title") property.

This also avoids collision with the --title option. (Technically, there
was no problem. But it might be confusing for users, since we have a
policy of naming properties and options the same if they refer to the
same underlying functionality.)
options: fix off-by-1 error in option help output
DOCS/coding-style: add another requirement for commit messages
command: rename dvd- properties to disc-

Since these are not DVD-only, but can also be used with BDs.
demux_libass: change how external ASS subtitles are loaded

Instead of parsing the ASS file in demux_libass.c and trying to pass the
ASS_Track to the subtitle renderer, just read all file data in
demux_libass.c, and let the subtitle renderer pass the file contents to
ass_process_codec_private(). (This happens to parse full files too.)

Makes the code simpler, though it also relies harder on the (messy)
probe logic in demux_libass.c.
vd_lavc: ridiculous workaround for Libav 9 compatibility

This "sometimes" crashed when seeking. The fault apparently lies in
libavcodec: the decoder returns an unreferenced frame! This is
completely insane, but somehow I'm apparently still expected to
work this around. As a reaction, I will drop Libav 9 support in the
next commit. (While this commit will go into release/0.3.)
build: drop support for Libav 9

I have no tolerance for this garbage anymore. There are tons of issues
with it (see e.g. previous commit), and there is no reason to use it
either. Use Libav git, or Libav 10 when it's released.

This also drops support for earlier FFmpeg release, which have exactly
the same issues as Libav 9. FFmpeg 2.1.4 is still supported, because
it's the latest release, and is reasonably recent. (Although this will
probably also be dropped as soon as FFmpeg 2.2 is released.)

Assumed version table (lots of nonsensical numbers):

        FFmpeg 2.1.4    FFmpeg (n2.2-rc2)   Libav (v10_beta2)

lavu    52.48.101       52.66.100           53.3.0
lavc    55.39.101       55.52.102           55.34.1
lavf    55.19.104       55.33.100           55.12.0
lsws    2.5.101         2.5.101             2.1.2
lavi    3.90.100        4.2.100             4.2.0
lswr    0.17.104        0.18.100            -
lavr    1.1.0           1.2.0               1.1.0

libpostproc and libavdevice are not interesting.

Following this commit, code needed just to support old Libav versions
will start to be removed.
travis-ci: update ffmpeg stable tarball
vd_lavc: remove compatibility crap

All this code was needed for compatibility with very old libavcodec
versions only (such as Libav 9).

Includes some now-possible simplifications too.
sub: remove old MPlayer DVD sub decoder

The DVD sub decoder in Libav 9 was broken/incomplete, so we kept the
MPlayer decoder around. Now it's not needed anymore.
af_lavrresample: remove avresample_set_channel_mapping() fallbacks

This function is now always available.

Also remove includes of reorder_ch.h from some AOs (these are just old
relicts).
ao_dsound: remove duplicated code
ad_lavc: remove deprecated downmixing by channel count

Downmixing by channel layout now hopefully works with all supported
libavcodec versions.
Remove some more unneeded version checks

All of these check against things that happened before the latest
supported FFmpeg/Libav release.
demux: use av_packet_ref()

av_copy_packet() was FFmpeg specific, av_packet_ref() is now available
on all supported libavcodec releases.
build: simplify libavfilter configure checks

This is all not needed anymore. In particular, remove all configure
switches except --enable-libavfilter.
vf_gradfun: remove internal implementation

This follows the (only slowly progressing) plan to replace all internal
video filters with libavfilter.

All what's left in vf_gradfun.c is the weird wrapper around vf_lavfi.c.
vf_unsharp: remove internal implementation

See previous commit.