Support streamed wav files with a 0 bytes data chunk
Allow opening stdin when "-" is specified
Allow reading wav files with a 0 bytes RIFF chunk

This is required in order to read streamed wav files produced by
the libavformat wav muxer.
Use skip instead of fseek

fseek(SEEK_CUR) doesn't work for nonseekable streams (such
as pipes).

Only do this for skipping past small chunks; don't use it for
skipping past the actual data for non-streamed input.