ao/format: add af_fmt_is_unsigned and af_fmt_is_float
ao/wasapi: don't assume 32-bits == float

This was based on old restrictions WAVEFORMATEX restrictions
http://msdn.microsoft.com/en-us/library/windows/hardware/ff538799%28v=vs.85%29.aspx

With the new WAVEFORMATEXTENSIBLE, this is no longer a problem. and we
can have s32 or float32.

fixes #1287
ao/wasapi: don't try unsigned formats

before this led to static with --audio-format=u24 or presumably if the
media itself was unsigned.
ao/wasapi: show actual waveformat tried

also remove bogus ao_format
ao/wasapi: fix set_ao_format

Before it was always using the ao->format and changing the bits.  This
was broken, for example, if the initial ao->format was a float we
wanted to try s24 instead.
ao/wasapi: get rid of WAVEFMT union

it only confused the issue.
set_ao_format