Fix crash when clearing surface memory

The beginning of the surface data needs to be computed correctly if the
stride is negative, otherwise, it should point already to the beginning
of the surface data. This bug seems to exists since 4a208b (0.5.2)

https://bugzilla.redhat.com/show_bug.cgi?id=1029646
spice.h: Don't use 48kHz for playback/recording rates

When adding Opus support, SPICE_INTERFACE_PLAYBACK_FREQ and
SPICE_INTERFACE_RECORD_FREQ in the public header 'spice.h' were changed
from 44100 to 48000.
However, this was not really useful as these constants are not used in
spice-server, but only by users of spice-server (ie QEMU).
It turns out changing these values is actually harmful. QEMU uses these
constants in 2 situations:
1. when it's a version of QEMU with this commit, but we are compiling
   against older spice-server headers (before Opus support was added)
2. when it's a version of QEMU without commit 795ca114d35 which added
   what is needed for Opus support

When we are in the second situation, having 48000 in the public header
will actually cause issues as spice-server will know QEMU does not
support Opus, so internally spice-server will be using a 44100 rate for
audio. However, QEMU will be using SPICE_INTERFACE_.*_FREQ and think it
should use a 48000 rate, which will cause distorsions as experienced in
bug https://bugzilla.redhat.com/show_bug.cgi?id=1129961

Reverting these constants back to 44100 will fix audio in the 'new
spice-server/old QEMU' scenario, and won't cause issues either when both
support Opus as in this case these constants are not used.
dispatcher: lower a monitor-config warning to a debug level

Some QXLInterface implementations might not have or succeed
with client_monitors_config(). Thus, lower warning to debug
level.

https://bugzilla.redhat.com/show_bug.cgi?id=1119220
reds: lookup corresponding channel id

In reds_send_link_ack(), lookup the channel with the same id as the link
message.

The bug was found during code review a while ago.

A reproducer bug was later reported:
https://bugzilla.redhat.com/show_bug.cgi?id=1058625
build-sys: check for spicy-screenshot
clean-up: remove unused function
server: Don't dump the bitmap when the format is invalid

Caught by covscan:
spice/server/spice_bitmap_utils.c:54: var_decl: Declaring variable "n_pixel_bits" without initializer.
spice/server/spice_bitmap_utils.c:106: uninit_use: Using uninitialized value "n_pixel_bits".
Fix -Wunused-parameter
Fix -Wunused-value
Fix -Wsign
Fix -Wswitch
Fix -Wformat
Fix -Wnonnull
Fix -Wmissing-field-initializers
Fix -Wunused-function
server/tests/Makefile.am: White-space cleanup

Make sure the \ at the end of lines are nicely aligned
Fix indentation in red_get_opaque_ptr

This removes one extra space
Fix 'abberiviations' typo in comment
Validate surface bounding box before using it

It's possible for a buggy guest driver to pass invalid bounding box
dimensions in QXL commands, which would then cause spice-server to
segfault. This patch checks the size of the bounding box of the QXL
command right after it has been parsed.

This fixes rhbz#1135372