macosx_events: DRY up key lookup over dictionary

Two methods duplicated very similar behaviour. Extract method with the common
behaviour.
macosx_events: handle key modifiers with media keys

This was overlooked in the previous inplementation. Adding it required some
refactoring of the `handleKeyDown:` method in order to extract common parts
with `handleMediaKey:`.
ao_oss: uncrustify
ao_oss: switch to new AO API
ao_oss: remove global variables
ao_oss: remove duplicated format info

Instead of having two big switch statements to convert between two
audio formats, use a single table.
ao_jack: uncrustify
ao_jack: switch to new AO API
ao_jack: align data sizes on audio frame size

Fixes crashes when playing with certain numbers of channels. The core
assumes AOs accept data aligned on channels * samplesize, and ao_jack's
play() function broke that assumption:

    mpv: core/mplayer.c:2348: fill_audio_out_buffers: Assertion `played % unitsize == 0' failed.

Fix by aligning the buffer and chunk sizes as needed.
ao_jack: remove global variables
m_option: allow setting empty lists

There's no reason why this should be forbidden.
core: reset pause state by default when going to next file

Apparently this behavior is more intuitive/better to users.
command: human readable output for metadata property

Slightly better output when printing ${metadata}. Print each metadata
item as "name: value", instead of the raw list. It's still not very
great, though. The old format is still available through ${=metadata}
for things which dare to use the broken slave mode.
command: replace some show_ commands with properties

show_chapters, show_tracks, and show_playlist are killed and replaced
with the properties chapter-list, track-list, and playlist. The code
and the output of these stays the same, this is just moving a lot of
code around and reducing the number of properties.

The "old" commands will still be supported for a while (to avoid making
everyone angry), so handle them with the legacy layer. Add something to
suppress printing the legacy warnings for these commands.
core: merge defaultopts.c into cfg-mplayer.h

There isn't really any reason why this should be in a separate source
file.
core: rename cfg-mplayer.h to options.c
core: make options.c compile standalone

This also removes the split between "mplayer" and "common" opts (common
opts used to be shared between mencoder and mplayer).
manpage: improve documentation of property expansion
Option -omaxfps: limit fps when encoding

Lower-fps content is left alone (NOT aligned to this fps); higher fps
content is decimated to this frame rate.
encoding -omaxfps: do not shift pts when pts are repeated entirely

This is just to make sure. I have no test case for this, but the logic
seems saner that way.