windows: Fix compile issues with multiply or not defined GUIDs.

This fixes bug #416.
Fix typos.
Flush only the requested buffers

Fix the sp_flush() so that it flushes only the requested buffers
also in unix.
linux: Check for BOTHER macro at configure time.

This fixes bug #363.
windows: Properly handle return value of SetupDiOpenDevRegKey().