make enum and array in options.c independent of order

When the enum `format_id` and the array `str_defaults` are used in the functions `options_add` and `options_load`,  both have to be in the same order for the code to work.
The code breaks silently if this is not the case.

This patch removes this dependence and moves the array (which is currently 1000 lines away) right next to the enum to make the connection between these two structures clear.
added some whitespace to str_defaults
make sure that array elements without a designator don't overwrite previous elements
Merge pull request #61 from mahkoh/fmt-enum

make enum and array in options.c independent of order
travis-ci: add libavformat-dev and libopus-dev

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
travis-ci: remove libopus-dev, since Travis' Ubuntu does not yet have it

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
fix clang compiler warnings

Signed-off-by: Gregory Petrosyan <gregory.petrosyan@gmail.com>
fix seeking in ffmpeg

When playing with ffmpeg plugin and user seeks to the beginning of track, cmus
wouldn't immediately start from the beginning, but would continue playing for
a while (about 3~5 seconds), and then suddenly jump to the beginning.

A segment of code is added in ffmpeg_seek() to flush the decoded output and
reset the input buffer. This should make it jump immediately, but the current
duration after jump is still not precise.
Support XDG directories with backwards compatibility. Fixes #33.

To determine where the configuration files are located, the logic
is as follows:

- CMUS_HOME takes priority, as before.
- ~/.cmus is used if it already exists, to maintain backward
  compatibility.
- New users default to XDG_CONFIG_HOME/cmus, or ~/.config/cmus if
  XDG_CONFIG_HOME is unset.

To determine where the socket is located is a bit more simple:

- XDG_RUNTIME_DIR/cmus-socket if XDG_RUNTIME_DIR is set.
- Otherwise, name it 'socket' in the config directory, as before.
Updated documentation to use XDG paths.
Merge remote-tracking branch 'upstream/master'