gdbserver: fix some error responses (#1414)
gdbserver: fix some error responses (#1414)

* gdbserver: correct return type from ._handle_message() on exceptions

Don't return the detach value, which was removed in 17ab710.
This fixes one of the issues reported in #1409.

* gdbserver: replace GDBError exceptions with logs

- .handle_query_xml() returns the correct empty packet or error instead
of raising GDBError.
- .get_symbol() logs the error and returns None to the caller.

* gdbserver: qXfer command fixes

- Restructure code to always call into .handle_query_xml() for qXfer
read commands.
- Return empty packet on unknown qXfer operation.
- Pass annex to .handle_query_xml().
- Explicit check for read features annex being 'target.xml', and that
the annex is empty for other objects.
pyocd/pyOCD,flit/pyOCD,flit/pyOCD,pyocd/pyOCD