Add test which trigger a regression with LiveStatusWaitQuery.

it was good on: 53f4cbfa5a7f39805a2bea44a0f6c690a5b7575d.

make a "full" test:
i.e: one which launch the livestatus listening thread and really make tcp connection to it for querying.

and a bit of entropy is always good.
make sure the db is open in the same thread.

otherwise the db is used in another thread than it was open -> error.
Fix: LiveStatusWaitQuery regression:

LiveStatusWaitQuery wasn't anymore processed since d61b659345385386ba8d3fff1158fe0923ae7ab8
(introduced by me, shame).
probable fix: stay consistent and always return bytes from _read().

even if we are in non-blocking mode:
still return a byte value (b'') from _read in the case we get a EWOULDBLOCK.

otherwise returns None -> error in read_request() when joining the read values.
Enh: simplification of the handling of multiple request type.

somehow.
Handle invalid Filter header value.

better: raise a QueryError instead of letting the ValueError propagate.

+ Adapted test case for it.

NB:
In LiveStatusQuery.parse_input():

There are lot of cases where an error with a query content is logged (warn or error)
but the code is left continuing.. without raising a LiveStatusQueryError()..
Use coverage combine.